KL720 resnet特徵向量輸出inference輸出不是預期
整個模型是由 backbone , neck ,head組成,在加速棒inference的只有backbone
backbone使用resnet50(刪除最後的 稠密層 扁平層及三層捲積層)輸出是1*1024*20*20
轉換成optimized後的onnx模型輸出都是正確的,已使用onnx inference方法驗證,但在移植到KL720後推論的結果不一致。(使用KneronPLUS 1.3.0)
圖片輸入預處理是
#輸入是1x3x320x320 z_patch = normalize(z_patch.squeeze()/255., mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]).unsqueeze(0)
我將提供:
1.onnx的模型
2.onnx inference file
3.Kneron inference python file
4.onnx2nef python file
謝謝你的幫助
The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.
Comments
@shao-xuan lin
Hi shao-xuan,
看過您提供的檔案,好像不是很完整 (e.g. 檔案執行方式、少了圖片),可以的話可否再請您多描述一下您是如何執行您提供的檔案,並且多描述一點 "KL720後推論的結果不一致" 的地方, 方便重現問題。
Andy Hsieh
圖片是任何的320x320x3的圖像,由於程式是一個大專案(整個安裝起來很花費時間)所以只有提供有問題的部分,但不影響推論的結果不一致的問題,推論不一致是指同個圖片在加速棒及onnx推論輸出結果相差太大。
謝謝。
另外補充左圖是原始模型的推論,右圖是加速棒的推論結果
下圖則是原始輸出-加速棒輸出的差異
@shao-xuan lin
Hi shao-xuan,
不好意思,晚回復您了。
您可以試著使用目前最新推出的 Kneron PLUS v2.0.1 看看。
(提醒 : 記得也需要更新您的 firmware https://doc.kneron.com/docs/#plus_python/tutorial/chapter/upload_firmware/)
然後您可以嘗試將您的 input data 經過 (1) normalization (2) quantization (3) convert to NPU format 送進 KL720 NPU inference
可參考以下連結:
https://doc.kneron.com/docs/#plus_python/tutorial/chapter/model_inference_with_data_inference/