Docker環境下import ktc 發生core dump退出python
我的Host 主機是使用Ubuntu 20.04,安裝docker之後依照Toolchain說明pull最新image
docker pull kneron/toolchain:latest
啟動docker
docker run --rm -it -v /docker-share:/docker_mount kneron/toolchain:latest
/docker-share 是我host分享出來的目錄
進入docker 環境後,下指令python 進入python環境,然後測試模組import動作
(base) root@d506fffd7db2:/workspace# python
Python 3.7.10 (default, Jun 4 2021, 14:48:32)
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import onnx
>>> import ktc
use toolchain binaries
Illegal instruction (core dumped)
如上畫面,Import onnx 沒有問題,但是import ktc卻發生core dump 退出。請問為什麼呢?這部分錯誤,後續所有的轉換都無法進行了。
The discussion has been closed due to inactivity. To continue with the topic, please feel free to post a new discussion.
Comments
您好,
轉換模型時,我們建議您將這些code寫在一個Python檔裡面之後再一次執行。
我把指令寫在一個onnx-optimizer.py 檔執行,結果是一樣的。在python底下下指令import ktc會出錯,放到py裡面一次執行當然結果還是會錯啊。
我的onnx-optimizer.py 內容如下
import onnx
# Import the ktc package which is our Python API.
import ktc
# Load the model.
original_m = onnx.load("/workspace/yolov5s-mask_convert.onnX")
# Optimize the model using optimizer for onnx model.
optimized_m = ktc.onnx_optimizer.onnx2onnx_flow(original_m)
# Save the onnx object optimized_m to path /data1/optimized.onnx.
onnx.save(optimized_m, '/data1/optimized.onnx')
執行的結果如下
(base) root@1a1d0578a8f5:/workspace# python onnx-optimizer.py
use toolchain binaries
Illegal instruction (core dumped)
(base) root@1a1d0578a8f5:/workspace#
您好,
感謝您的測試。以防萬一,可以請您確認您的toolchain版本嗎? 因為就算是pull latest的,不一定是最新的版本。
請使用: cat /workspace/version.txt 來檢查
我再實驗,在 docker的環境下,進入python,然後執行
import tensorflow as tf
結果一樣
Illegal instruction (core dumped)
請問使用的電腦有最低等級的要求嗎?我使用的電腦CPU 是 Intel Duo,算是舊款的CPU與主機板。我host是安裝Ubuntu 20.04
您好,
以下是toolchain建議的系統要求,會建議用quad-core CPU喔
V0.24.0
https://www.kneron.com/forum/discussion/comment/1828/#Comment_1828
如Maria所貼的規格,Toolchain最低會需要quad-core CPU,因為你使用的是 Intel Duo可能導致不相容,還請理解。