如何轉換ONNX模型給KL520使用
我使用kneron提供的docker環境,內有的ONNX Converter是把模型轉換為 ONNX的模型,
請問如何將自己的ONNX模型轉為 KL520使用的 .bin格式?
我目前對KL520這個產品的理解是須把模型轉換為KL520使用的 .bin格式後導入KL520來使用,請問這個理解是否正確?
The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.
Comments
是的,需先將模型轉成KL520專用的*.nef (舊版的範例中為*.bin) 後才可在KL520上運行,轉換的方式可以參照文件中心http://doc.kneron.com/docs/#toolchain/manual_520/ 的說明
成功將模型轉換成.onnx後,請繼續參照 3.2 FpAnalyser, Compiler and IpEvaluator 的指示依序往後執行,完成3.5 FpAnalyser and Batch-Compile 後即可在資料夾"batch_compile"中找到轉換完成的模型.nef
謝謝指引。
我按照說明文件先嘗試案例,逐步執行,
執行 >>python /workspace/scripts/fpAnalyserCompilerIpevaluator_520.py -t 8
回應資訊如下:
input = /workspace/.tmp/updater.json
Now loops 1 time=======================================================]100% 0.001000s
Done!
Traceback (most recent call last):
File "/workspace/scripts/fpAnalyserCompilerIpevaluator_520.py", line 46, in <module>
run_compiler_520(bie_file)
File "/workspace/scripts/utils/run_compiler_520.py", line 29, in run_compiler_520
'compile.log'], check=True)
File "/workspace/miniconda/lib/python3.7/subprocess.py", line 488, in run
with Popen(*popenargs, **kwargs) as process:
File "/workspace/miniconda/lib/python3.7/subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "/workspace/miniconda/lib/python3.7/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 74] Bad message: '/workspace/libs/compiler/compile_mozart'
看來是產生錯誤了,fpAnalyser是有產生文件,但compiler資料夾卻是空的,
之後的指令也是有
OSError: [Errno 74] Bad message: '/workspace/libs/compiler/compile_mozart'
這個錯誤,
請不吝解惑如何排除錯誤,謝謝。
Hi ,
請問你json file這文件裡面你有填好嗎?
Hi,
我參照說明文件多次嘗試調整input_params.json,
過程中會引發 json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes 這個錯誤訊息,
最後到可運行 python /workspace/scripts/fpAnalyserCompilerIpevaluator_520.py -t 8 的狀態後還是回覆完全如前的
OSError: [Errno 74] Bad message: '/workspace/libs/compiler/compile_mozart'
附檔是我的 input_params.json
請不吝解惑,TKS。
HI,
這裡按照我們Kneron Documentations,是可以正常運行,並且,fpAnalyser是有產生文件,compile_mozart也有資料
想請問你是否有先按照我們範例跑過? 還有模型部分不確定你的模型是否有符合我們的規格,或是說在Converter時是否有什麼步驟沒有做到?
可以請你跟我們說你從Converter開始每一步驟是如何操作?若還是不ok,再請你提供模型給我們.
thanks
hi,
謝謝回覆。
我現在執行的就是貴司提供的範例,所以才抓不準為何會出錯,照理來說,我也是認為直接執行原廠提供的範例應該是不至於出現錯誤的;若有任何可以查錯的線索也請不吝告知。
另,
求證一下,若我在另一部沒接上kl520的pc上使用vm,再由vm上的linux執行toolchain docker來轉換model,這樣的環境可行嗎。
Hi,
此環境可以的.跑toolchain可以不用接520
thanks
Hi , 謝謝協助。
實在沒招了,
我就是按照這個文件的說明(http://doc.kneron.com/docs/#toolchain/manual_520/#3-toolchain-scripts-usage),從3.2的步驟完全依樣操作toolchain docker上的LittleNet範例,不論有沒有調整input_params.json文件,都會發生上述的錯誤。
請參閱附件 KL520-error.txt 為我執行的順序與系統回饋訊息紀錄。
請參閱連結 https://drive.google.com/drive/folders/10npVIy2w7tqbcqyOJJSKkTERSwqbVxR9?usp=sharing
為我自己的ONNX MODEL (檔案有點大,我用GOOGLE DRIVE分享出來),請不吝解惑,並指導一下我應該如何按照我自己的MODEL調整 input_params.json。
感激不盡。
Hi Alfred,
看過你的模型後,有幾個KL520不支援的地方需要請你修改模型,請參考下面步驟