记安装原生M1的深度学习框架
换了M1的电脑,想试一下M1的GPU跑深度学习。目前只有tensorflow原生适配了Apple silicon,无奈又从pytorch转回tensorflow。本来最早受不了tensorflow1.0到2.0的颠覆改变转头到pytorch的怀抱,气死我了。但谁叫我现在对英伟达无好感了,准备完全脱离Nvidia显卡。
参考Apple的官方教程https://developer.apple.com/metal/tensorflow-plugin/
这个是pytorch的下载教程 https://developer.apple.com/metal/pytorch/
首先下载安装anaconda,据官方说明anaconda中的一些库无法在arm上运行,所以在M1上建议我们使用轻量型的Miniforge下载下来,来到终端按顺序输入下面两行
chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
在安装过程中一直按enter阅读,要打字的话就写yes。
之后搞笑了,我想着安装好了conda应该能被识别到了,结果报错找不到。还明明有那个文件。
后来才发现还差生效的一行代码,差点出师不利身先死。
source ~/Downloads/Miniforge3-MacOSX-arm64.sh
出现图片中的内容和熟悉的"base"说明anaconda安装成功。
老规矩,先创建一个新环境。
conda create -n tf2.6 python==3.8
我感觉是我没换源导致的又换了个源。
conda config -add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config -set show_channel_urls ves
还是下载不了,一气之下把python版本改成3.9居然可以了,因为我喜欢赶潮流,现在都用3.10。
conda create -n tf2.6 python==3.9
后面激活环境并安装依赖的tensorflow-deps,现在默认下载的是2.6,也可以指定2.5版本,具体操作看官网,下错了请卸掉再下载。
conda activate tf2.6
conda install -c apple tensorflow-deps
下载速度有点慢的估计是用了Apple的源的问题。我中途看电影去了就没啥感觉,但因为电脑黑屏,有一个包没下成功再下了第二遍。
安装tensorflow,这边官方那里有写macos11以前的电脑需要注意。
python -m pip install tensorflow-macos
安装metal插件,我理解的metal是Apple的API,相当于cuda。
python -m pip install tensorflow-metal
好了这样我们就可以调用M1的GPU来炼丹了,检查一下tensorflow有没有安装成功。
附简单的对比图
结论暂时不指望M系列跑神经网络了,希望Apple之后会和tensorflow越来越优化。。。
图附的1070可能因为当时还开着别的游戏进程导致的速度不如1060.