m1芯片配置mini forge+tensor flow环境

m1芯片配置mini forge+tensor flow环境

文章目录

    • m1芯片配置mini forge+tensor flow环境
    • 搜集到的一些有用的链接
    • 配置流程
      • 1. 被anaconda“坑”的前期:
      • 2. 幡然醒悟:
      • 3:配置过程
    • 结尾

搜集到的一些有用的链接

近期用了两天时间在m1芯片上安装tensorflow,记录下一些过程和参考文章
1. https://www.jianshu.com/p/7d27a53e3a5e——takumiiii

2. https://blog.csdn.net/qq_41437512/article/details/114753937——__help__

配置流程

1. 被anaconda“坑”的前期:

以前在ubuntu上觉得anaconda这个包管理特别好用,而且还可以轻松应用tensorflow的包,于是这次就贪图方便直接下了anaconda,但是没有想到,anaconda以及它下载下来的一些包(特别是直接在CPU和GPU上操作的tensor flow keras等等)对arm架构的芯片不支持,导致即使成功安装了tensorflow也无法打开

2. 幡然醒悟:

在搜集资料后发现tensorflow对m1有一个预开发版本(release),但是这个版本必须建立在miniforge(anaconda的arm64版本),于是又要翻到重来(鬼知道我用homebrew装了多少次miniconda)。这里就重点参考了上面两位博主的教程

3:配置过程

01安装miniforge
https://conda-forge.org/blog/posts/2020-10-29-macos-arm64/
将下载下来的.sh文件拖拽到终端里
这里会遇到两个问题:

- permission denied 
解决方案:切换到该.sh文件的目录下
- 切换到目录下大概率还是修改不了(因为大部分人可能还没开放权限)
解决方案: chmod 755 xxx.sh

02下载为m1优化的tensorflow及其插件
https://github.com/apple/tensorflow_macos
(尽量下载第一个版本的asserts下的.tar.gz文件)

03创建conda虚拟环境

conda create --name envname python=3.8
PS:这一步过后尽量回去miniforge里面看一下是否产生了一个你命名的虚拟环境文件夹(envname是你自己起的名字)

路径类似
/Users/xxx/miniforge3/envs/tf
这一步创建好后就可以快乐的开启虚拟环境

source activate envname
其实这里还可能会遇到问题,就是你的conda可能压根启动不了会在终端出现
commas not found:conda
这个时候就是你的conda环境配置没到位,需要到
user/xxx/目录下同时按commad+shift+.看到隐藏文件中的.bash_profile,并修改环境变量,详情请参考https://blog.csdn.net/Xurui_Luo/article/details/88702036
这里小提一句,如果实在不喜欢base或者其他的例如tf环境,可以激活环境后退出环境conda deactivate

04在虚拟环境中安装tensorflow
这里援引上述两位博主的代码供大家参考

libs="/Users/xxx/tensorflow_macos/arm64/"
env="/Users/xxx/miniforge/base/envs/tf24/"

# 前面两个libs和env是为了方便后续的代码
conda install -c conda-forge pip setuptools cached-property six
conda upgrade -c conda-forge pip 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/tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl"

#以上的文件都是依照 __02步骤__命名的,需要根据实际情况修改
conda install -c conda-forge -y absl-py
conda install -c conda-forge -y astunparse
conda install -c conda-forge -y gast
conda install -c conda-forge -y opt_einsum
conda install -c conda-forge -y termcolor
conda install -c conda-forge -y typing_extensions
conda install -c conda-forge -y wheel
conda install -c conda-forge -y typeguard
pip install tensorboard
pip install wrapt flatbuffers tensorflow_estimator google_pasta keras_preprocessing protobuf
pip install --upgrade -t "$env/lib/python3.8/site-packages/" --no-dependencies --force "$libs/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl"

然后是sklearn

conda install -c conda-forge scikit-learn

以及keras

conda install -c conda-forge keras

其他的例如
pandas&pytables
matplotlib
ipython
就不细讲了,基本就是直接conda install就可以了

最后尝试在虚拟环境下打开python 然后import TensorFlow as tf
如果没有报错就基本成功了

后续我还需要探索如何在和miniforge没有软连接的anaconda上引用虚拟环境下的tensoflow,不然我的jupyter就用不了了…

结尾

这次的开局就是暴击,让我体会到arm64和x86之间的迁移还是需要很长时间才可以完成。

你可能感兴趣的:(Python,TensorFlow,python,tensorflow,mac,arm)