最近遇到一個奇妙的情況
如果使用 virtualbox 時候
windows 的 hyper-V 就必須要關閉
否則 virtualbox 的 Ubuntu 的 TensorFlow 會無法啟動
因為在 TensorFlow 1.6版本之後有用到 cpu 的 avx 程式
就是說需要比較新的 CPU 才能使用TensorFlow
我本身電腦是 i5 CPU 肯定夠新
但是如果不完全關閉 hyper-V
使用 virtualbox 開啟Ubuntu時候
虛擬機會無法使用 CPU 的 avx 功能 (會被 hyper V 佔用)
但是完全關閉 hyper-V
會導致 windows 版 docker 與 模擬器 不能正常運作 (在某些狀況就是需要共存,沒辦法)
如何確定虛擬機是否可以使用 avx 功能呢?
可以用以下指令查詢
lscpu | grep avx
所以無法使用 avx 功能
就等於無法使用 1.5 以上 TensorFlow
但是目前專案又不能用舊的 TensorFlow
所以我上網找一找
還真的給我找到有人編譯好的 Ubuntu 18.04 的 TensorFlow no AVX 版本
"TensorFlow 2.8.0 No AVX, No GPU, Python 3.7, 3.8, 3.9, 3.10, Ubuntu 18.04, multiple Archs"
https://github.com/yaroslavvb/tensorflow-community-wheels/issues/209
安裝也非常方便
pip install --ignore-installed --upgrade tensorflow-2.8.0-cp37-cp37m-linux_x86_64.whl
挖~還好解決這問題了
差點開天窗
給大家參考囉
留言板
歡迎留下建議與分享!希望一起交流!感恩!