最近给手头上的 M1 电脑安装 TensorFlow 环境,折腾了好多遍,miniconda 安装了很多次,终于在今天成功了。
借此机会分享出来,希望能帮助大家早日填好坑。
踩的坑
conda 找不到合适的包
conda 报找不到适合当前系统的 tf 安装包(错误信息就不贴了,之前错误的时候没有保存),换其它的安装源也安装不了,我猜是因为 aarch64 的原因吧
conda 崩溃
1
CondaMemoryError: The conda process ran out of memory. Increase system memory and/or try again.
期间安装了几次conda,每次安装tf失败之后就会报这个错,随后conda也崩溃了,只能重装。重装了2次依然崩溃,所以我决定用 x86_64 版本试试。
我的方法(简单)
这是我配置成功的方法,我认为比较简单,但可能不是最佳实践。后面会提供官方版的方案。
(这里假设你已经安装好rosetta
,如果还没安装请参考我的另一篇文章 >> 出门右转)
1. 配置 x86_64 terminal
见上一篇,这里不再复述 >> 出门右转
2. 安装 x86_64 miniconda
https://docs.conda.io/en/latest/miniconda.html#macos-installers
选择 Miniconda3 macOS 64-bit bash 下载下来
1 | # 安装 |
3. conda install tensorflow
1 | conda create -n tf |
很轻松很顺利
官方方法(推荐)
Apple Silicon Only Warning: You CANNOT use Anaconda
https://github.com/apple/tensorflow_macos/issues/153?utm_source=wuyanxin.com
看了这个帖子我才知道 anaconda 在 M1 上是不建议使用的。因为我前面使用miniconda经历过好几次重装才能使用的经历,所以我又尝试了这种方法。
安装
安装 miniforge3 (替换miniconda)
1 | chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh |
创建新的虚拟环境
指定python版本很关键,目前 tensorflow-macos
应该只支持py3.8-py3.9
1 | conda env remove -n tf |
安装 TensorFlow 依赖
1 | conda install -c apple tensorflow-deps |
安装 tensorflow-macos
1 | python -m pip install tensorflow-macos |
如果这边一步失败的话,看看是不是Python版本问题:
https://developer.apple.com/forums/thread/691317
安装 tensorflow
1 | python -m pip install tensorflow |