此教程针对12.0+ macOS系统,且没有安装过前序tensorflow版本:
一. 准备
首先,如果你安装了anaconda,先删干净(此前我没意识到要删anaconda,在这里卡了一天。。。)。如果没安装过,跳到下一步。
删除过程参考 :Mac卸载Anaconda
检验是否删干净了:
conda info ##删干净的话这条命令应该没有反应。如果有反应就按照结果中的路径删
二.正式安装
参考苹果官方教程安装tensorflow,我根据自己的安装经验补充了一些细节:
- 安装 miniforge Apple Silicon
前往官方Github页面,下载
chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh #修改权限为可执行
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh #安装
source ~/miniforge3/bin/activate #激活
检验安装miniforge是否成功:
conda -V # 显示版本
conda info # 结果中active env location 等位置应该显示miniforge
python # 执行后应该显示Python 3.X.X | packaged by conda-forge |
- 安装tensorflow:
conda install -c apple tensorflow-deps # tensorflow依赖库。如果想指定版本,添加 == 2.5.0 或 == 2.6.0
python -m pip install tensorflow-macos #基础tensorflow
python -m pip install tensorflow-metal #tensorflow-metal plugin
——————
后续使用过程中,每次调用都会提示:
Could not identify NUMA node of platform GPU ID 0, defaulting to 0. Your kernel may not have been built with NUMA support.
以及
Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 0 MB memory) -> physical PluggableDevice (device: 0, name: METAL, pci bus id: <undefined>)
找到了官网用户的提问及相关解答,
https://developer.apple.com/forums/thread/693292
总结下来是,尽管提示“may not been built with NUMA suppot”,但训练模型的过程中确实使用了GPU。