環境
- M3 Macbook
- Sonoma 14.5
- Intel Macから移行した状態
したかったこと
tensorflowやPyTorchでGPUを使いたかった.
pip install tensorflow-macos
pip install tensorflow-metal
pip install torch torchvision torchaudio
をしたかっただけです.
起きたこと
エラー
なんどやっても以下のようなエラーが起きてしまった.
TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: SSE4.1 SSE4.2, in other operations, rebuild TensorFlow with the appropriate compiler flags.
...
RuntimeError: This version of jaxlib was built using AVX instructions, which your CPU and/or operating system do not support. This error is frequently encountered on macOS when running an x86 Python installation on ARM hardware. In this case, try installing an ARM build of Python. Otherwise, you may be able work around this issue by building jaxlib from source.
よく見ると,M3のはずなのにCPUと書かれている...
原因
原因はIntel Macからデータ移行したことでした.HomeBrewがx86_64
版になっていたのです.つまり,arm64
版に移行すれば良いのです.
確認方法
print(platform.platform())
x86_64
と出てきたあなたは変更をしましょう
詳しい移行方法は参考文献をご覧ください.すでにインストールしているものをそのまま移すことができます.
やったこと
- python 初期化
- HomeBrew変更
- requirement.txtの作成
- python 再インストール
結果
Python Platform: macOS-14.5-arm64-arm-64bit
Tensor Flow Version: 2.16.2
Keras Version: 3.7.0
Python 3.11.11 (main, Dec 4 2024, 21:48:20) [Clang 16.0.0 (clang-1600.0.26.4)]
Pandas 2.2.3
Scikit-Learn 1.5.2
SciPy 1.14.1
GPU is available
終わりに
試行錯誤している間に環境が壊れていき,泣きそうでした.8時間かかりました.