跑 AI 程式時出現 Illegal instruction (core dumped)
這樣的錯誤, 很有可能是因為 CPU 太舊/太弱, 不支援某些向量運算。
先前
玩 face_recognition 的時候 遇到的是 dlib 函式庫需要 sse2/sse4 指令;
這次則是玩
ENet 又遇到 illegal instruction。
看了一些不完全相關的文章和錯誤訊息, 包含: draw_net 的
"OpenBLAS : Your OS does not support AVX instructions" 警告、
caffe 的 issue、
intel 論壇 等等, 最後的結論是: ENet 版的 caffe 需要 CPU 支援
avx 指令。 可以用 grep -i avx /proc/cpuinfo
查看你的 CPU 是否符合要求。 雖然沒有力氣重新編譯 ENet 版的 caffe
所以無法百分之百確認, 不過曾在五部電腦上測試過,
三部沒有 avx 指令的電腦在 python 程式碼 import caffe 時都出現
illegal instruction 的訊息; 兩部有 avx 指令的電腦確實都能順利執行。
如果你也跟我一樣拿古老的文書機來跑 AI 程式,
而且遇到相同的錯誤訊息, 請留言確認一下這個規則是否也適用你的狀況囉!
2017年12月24日 星期日
跑 AI 程式時出現 illegal instruction 錯誤
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言
因為垃圾留言太多,現在改為審核後才發佈,請耐心等候一兩天。