如附圖
感謝
Hello,
從錯誤訊息來看,裡面似乎有不符合NPU架構的operator (unsupported cpu node in setup bin)
還請參考文件章節2.3的支援列表(http://doc.kneron.com/docs/#toolchain/manual/#2-toolchain-docker-overview ),移除模型中不被支援的節點後再試
我是使用了resnet18作為我的模型 我只有將第一個block的maxpool移除其他的operator 應該都是支援的。
上面的壓縮檔是我onnx的模型
請問一下,原始模型是使用哪一種framework?
模型看起來沒有執行過3.1.5 ONNX Optimization,各種framework的模型在轉成onnx後都還需要再執行onnx_optimizer.onnx2onnx_flow()來確保符合NPU架構。
是pytorch的架構
上面是我轉ONNX的code 我先用pytorch的ONNX api 轉成onnx (ONNX.py)
然後再docker裡執行python_api_workflow.py 這裡面已經有使用 ktc.onnx_optimizer.onnx2onnx_flow (44行)了.
感謝回復~
@范太恩
Hi 范太恩,
您是否可以提供一下您的 /workspace/osa3/T_wav/S/ 還有 /workspace/osa3/T_wav/BS/ 內的一點 .wav 讓我執行看看?
ok
根據我執行您的 script 以後,您的問題大致上有三個地方可以回答您,
hw_results = ktc.kneron_inference(input_data, nef_file=compile_result, radix=radix)
from transform import SignalTransform
這是新的transform.py跟之前的size不一樣 我檢查過input_size是沒有問題的
對,是在最後一次E2E simulator 出了問題 前面4次E2E simulator 都沒問題
nef檔是有正常生成的 只是在kl520運行時會出現此錯誤 我才會懷疑是在最後生成nef時出現了問題
根據這些資訊,我認為 model 的轉換是沒有問題的,而是出現在 Inference 的時候發生問題。
您是否可以提供您的 Inference script,讓我們找出 Error: inference failed 的原因。
以上是我們Inference code
目前已經確認,我這裡跟您一樣在推論的時候會出現問題,我已經把問題提交到相關部門進行再次確認,等有消息會再通知您。
您好,請問問題處理如何了 謝謝
我目前發現應該是nef轉換的問題
我用我以前試轉的nef在只更換input_shape跟nef檔案的情形下inference code其他都沒變,用新的nef會出現錯誤3/9那次回復螢幕截圖的錯誤
抱歉讓您久等了,目前 ToolChain 改版後,有再繼續針對您的問題進行測試,還在查詢相關問題原因,有新的消息會立即通知您!
非常感謝您!
您的問題目前看到的是,您 Model 內的 GlobalAveragePool HxW 需要限制在 256 以下,您可以改一下,再轉成nef,再推論試試。
Comments
Hello,
從錯誤訊息來看,裡面似乎有不符合NPU架構的operator (unsupported cpu node in setup bin)
還請參考文件章節2.3的支援列表(http://doc.kneron.com/docs/#toolchain/manual/#2-toolchain-docker-overview ),移除模型中不被支援的節點後再試
我是使用了resnet18作為我的模型 我只有將第一個block的maxpool移除其他的operator 應該都是支援的。
上面的壓縮檔是我onnx的模型
Hello,
請問一下,原始模型是使用哪一種framework?
模型看起來沒有執行過3.1.5 ONNX Optimization,各種framework的模型在轉成onnx後都還需要再執行onnx_optimizer.onnx2onnx_flow()來確保符合NPU架構。
是pytorch的架構
上面是我轉ONNX的code 我先用pytorch的ONNX api 轉成onnx (ONNX.py)
然後再docker裡執行python_api_workflow.py 這裡面已經有使用 ktc.onnx_optimizer.onnx2onnx_flow (44行)了.
感謝回復~
@范太恩
Hi 范太恩,
您是否可以提供一下您的 /workspace/osa3/T_wav/S/ 還有 /workspace/osa3/T_wav/BS/ 內的一點 .wav 讓我執行看看?
ok
@范太恩
Hi 范太恩,
根據我執行您的 script 以後,您的問題大致上有三個地方可以回答您,
hw_results = ktc.kneron_inference(input_data, nef_file=compile_result, radix=radix)
from transform import SignalTransform
內的 'transform.py' 是否是您在 2021/12/26 的時候在論壇上所提供的 'transform.py'。 (https://www.kneron.com/forum/discussion/187/e2e-simulator-check%E6%99%82%E5%87%BA%E7%8F%BE%E9%8C%AF%E8%AA%A4#latest)這是新的transform.py跟之前的size不一樣 我檢查過input_size是沒有問題的
對,是在最後一次E2E simulator 出了問題 前面4次E2E simulator 都沒問題
nef檔是有正常生成的 只是在kl520運行時會出現此錯誤 我才會懷疑是在最後生成nef時出現了問題
@范太恩
Hi 范太恩,
根據這些資訊,我認為 model 的轉換是沒有問題的,而是出現在 Inference 的時候發生問題。
您是否可以提供您的 Inference script,讓我們找出 Error: inference failed 的原因。
以上是我們Inference code
@范太恩
Hi 范太恩,
目前已經確認,我這裡跟您一樣在推論的時候會出現問題,我已經把問題提交到相關部門進行再次確認,等有消息會再通知您。
您好,請問問題處理如何了 謝謝
我目前發現應該是nef轉換的問題
我用我以前試轉的nef在只更換input_shape跟nef檔案的情形下inference code其他都沒變,用新的nef會出現錯誤3/9那次回復螢幕截圖的錯誤
@范太恩
Hi 范太恩,
抱歉讓您久等了,目前 ToolChain 改版後,有再繼續針對您的問題進行測試,還在查詢相關問題原因,有新的消息會立即通知您!
非常感謝您!
@范太恩
Hi 范太恩,
您的問題目前看到的是,您 Model 內的 GlobalAveragePool HxW 需要限制在 256 以下,您可以改一下,再轉成nef,再推論試試。