MacOS(M1芯片 arm架构)下安装tensorflow的详细过程
目录
- 导语
- 下面将开始讲解在MAC(M1)上如何安android装tensorflow
- 1. 下载Miniforge3-MacOSX-arm64.sh脚本文件,并且运行
- 2. 创建虚拟环境
- 3. 安装tensorflow
- 4. 测试
- 5. Pycharm导入含有tensorflow包的python解释器
导语
由于目前anconda官网上对于macos系统只支持X86结构的,因此基于arm结构的MacOS暂时无法使用anconda来对tensorflow进行配置。虽然Anconda无法在M1上运行,但是相应的替代品有Miniforge,同样也能实现类似的效果。此外,苹果官方称还支持添加metal插件,从而可以调用集成在M1芯片中的GPU部分,但是目前只支持tensorflow2.5和2.6的版本,而本节使用使用的版本是tensorflow2.4 python3.8,因此并未安装加速插件。官方安装metal方法如下:
Tensorflow Plugin - Metal - Apple Developer
下面将开始讲解在Mac(M1)上如何安装tensorflow
1. 下载Miniforge3-MacOSX-arm64.sh脚本文件,并且运行
miniforge下载地址为github - conda-forge/miniforge: A conda-forge distribution.
我的Miniforge3-MacOSX-arm64.sh脚本文件所安装的路径是
/Users/xiewenhui/MiniforgeShell/Miniforge3-MacOSX-arm64.sh
我们打开终端terminal,首先进入文件夹,进入到Miniforge3-MacOSX-arm64.sh所在的文件夹
cd ~xiewenhui cd MiniforgeShell
运行脚本文件js
sh Miniforge3-MacOSX-arm64.sh
结果如下图所示,然后一直进行enter回车,直到需要你手动输入yes或者no的地方,对于选择yes或者no的问题,一律输入yes,然后一直回车直到结束。
运行成功图如下所示,代表Miniforge3-MacOSX-arm64.sh运行完成,此时会在以用户名命名的文件夹下(此处我的文件夹是xiewenhui)生成一个Miniforge3文件夹,代表脚本运行完毕后所生成的安装文件(我们把Miniforge3当作anconda一样的包管理器,其中会包含python和conda,因此conda不需要再另外安装)。
2. 创建虚拟环境
(1)用conda创建一个虚拟环境,同时设置python版本
下面tensorflow是我创建的虚拟环境名,当然也可以写成tf24等等
conda create -n 虚拟环境名称 python=版本号 conda create -n tensorflow python=3.8
(2)激活虚拟环境
conda activate 虚拟环境名 conda activate tensorflow
提示:如果需要取消激活状态,输入conda deactivate即可
(3)查看当前环境的python位置
此时支持tensorflow的python解释器就位于虚拟环境envs中,它的版本和(1)中所创建的版本是一致的,因此之后我们在pycharm等IDE中直接导入下述地址即可(后面会讲到)。
理解:miniforge3是Miniforge脚本运行后所创建的包管理环开发者_JAVA入门境,miniforge3是类似于Anconda一样的作用,在Anconda中我们编程可以创建多个虚拟环境,在miniforge3也是一样的其中我们所创建的虚拟环境位于…/miniforge3/envs文件夹下,envs下的每个文件夹对应着一个独立的虚拟环境,当我们需要在IDE中切换python解释器的时候,我们便找到所需的python解释器:…/miniforge3/envs/虚拟环境名称(是一个文件夹,文件夹名称和你在conda create -n 虚拟环境名 python=xxx是一个名)/bin/python,然后导入IDE即可。
3. 安装tensorflow
当创建完虚拟环境后,做完准备工作之后python,我们需要安装tensorflow-macos,这是我们真正的目的。
(1)下载tensorflow安装包(支持arm架构版本的)
下载链接为Releases · apple/tensorflow_macos · GitHub,下载完成之后找一个文件夹进行保存即可,然后直接解压到当前文件夹。
(2)保持tensorflow激活状态,进入到刚刚解压的tensorflow_macos文件夹中,手动pip安装whl文件
注意不要输入conda deactivate关闭了tensorflow激活状态,直接cd找到文件夹即可
我的tensorflow_macos文件夹位置是/Users/xiewenhui/tensorflow_macos
找到tensorflow_macos文件夹:
继续进入下一级文件夹arm64:
手动pip安装之前,先看一下arm64下面有哪些whl文件,防止pip的时候发生遗漏:
存在5个whl文件都需要安装
pip安装之前我们需要修改lib路径和envs路径(很重要),方便我们下一步的安装:
# 更改为tensorflow_macos下载解压后的文件夹 libs="/Users/xiewenhui/tensorflow_macos/arm64/" # 替换成tensorflow的虚拟环境路径,tensorflow是你之前创建虚拟环境的名称,虚拟环境什么名,envs下文件夹就什么名 env="/Users/xiewenhui/miniforge3/envs/tensorflow"
下面手动安装这些文件,依次输入下面命令:
pip install --upgrade pip wheel setuptools cached-property six pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/grpcio-1.33.2-cp38-cp38-macosx_11_0_arm64.whl" pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/h5py-2.10.0-cp38-cp38-macosx_11_0_arm64.whl" pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/numpy-1.18.5-cp38-cp38-macosx_11_0_arm64.whl" pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/tensorflow_macos-0.1a1-cp38-cp38-macosx_11_0_arm64.whl” pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/tensorflow_addons_macos-0.1a2-cp38-cp38-macosx_11_0_arm64.whl” pip install absl-py astunparse flatbuffers gast google_pasta keras_preprocessing opt_einsum protobuf tensorflow_estimator termcolor typing_extensions wrapt wheel tensorboard typeguard
如果发生pip安装错误,可能是文件路径不对,lib路径和envs路径得确保正确,其次就是你所安装的whl文件名和上述代码中的不一致,以自己的whl文件名为主。tensorflow_macos不同的版本其中所包含的whl文件名可能不同。
如果出现命令行出现dquote的时候,最好自己直接粘贴ls显示的文件名,pip指令可以复制,但是pip install ..."$libs/文件名.whl"的时候,建议文件名.whl从ls显示出来的whl文件名中复制。
(3)以上安装步骤就基本完成,但是注意由于Miniforge3中和Mini Conda一样,主要包含了python和conda,其他的一些科学计算库例如pandas等等需要自己手动安装,方式如下:
conda install -y pandas matplotlib scikit-learn jupyterlab
以上安装步骤已经完成,下面可以对安装是否成功进行测试
4. 测试
命令行输入python,打开python shell环境
依次输入下面代码:
import tensorflow as tf print(tf.__version__)
当引入tensorflow不报错并且打印出tensorflow版本时,代表tensorflow安装成功
5. Pycharm导入含有tensorflow包的python解释器
根据图中路径寻找python解释器,在envs文件夹下,位置时~/miniforge3/envs/你的虚拟环境名(我的是tensorflow)/bin/python
Pycharm测试:
import tensorflow as tf print(tf.__version__) print(tf.config.list_physical_devices())
补充:实际上可以按照苹果官网的方法进行在线pip安装,Tensorflow Plugin - Metal - Apple Developer
python -m pip install tensorflow-macos
但是由于在安装中可能出现h5py无法安装的情况,因此我们直接下载tensorflow_macos安装包,下载到本地之后再用pip安装本地文件,不仅速度快,而且不会出现h5py的相关报错
自己存在一些问题的小记录:
由于安装时的tensorflow版本时2.4.0-rc0,但是在之后创建一些项目之后版本莫名变成了2.7.0。如果想要在装回以前的2.4.0-rc0,则按照上面的步骤重新pip一下whl文件即可。
到此这篇关于MacOS(M1芯片 arm架构)下如何安装tensorflow的文章就介绍到这了,更多相关MacOS安装tensorflow内容请搜索我们以前的文章或继续浏览下面的www.devze.com相关文章希望大家以后多多支持我们!
精彩评论