最近遇到一個奇妙的情況

如果使用 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

 

挖~還好解決這問題了

差點開天窗

給大家參考囉