![](/img/trans.png)
[英]Input dimension reshape when using PyTorch model with CoreML
[英]Coreml model float input for a pytorch model
我有一個pytorch模型,將3 x width x height
圖像作為輸入,並將像素值標准化為0-1
例如,在pytorch中輸入
img = io.imread(img_path)
input_img = torch.from_numpy( np.transpose(img, (2,0,1)) ).contiguous().float()/255.0
我將此模型轉換為coreml並導出了一個mlmodel,該模型接受了正確尺寸的輸入
Image (Color width x height)
但是,我的預測是不正確的,因為模型期望浮點值介於0-1
和cvpixelbuffer之間是介於0-255
之間的整數
我試圖像這樣規范化模型內部的值,
z = x.mul(1.0/255.0) # div op is not supported for export yet
但是,當此操作在coreml級別的模型內部完成時,將int * float
強制轉換為int
並且所有值基本上都是0
投射操作不受導出支持,例如x = x.float()
如何確定輸入的形狀正確以進行預測? 本質上,我想將pixel rgb and float divide 255.0
並將其傳遞給模型進行推理?
我使用coreml onnx掩蓋程序的preprocessing_args解決了它,
preprocessing_args= {'image_scale' : (1.0/255.0)}
希望這可以幫助某人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.