簡體   English   中英

pytorch模型的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM