M1 macOS安装配置 Tensorflow环境

简介

由于常用的Anaconda和Miniconda现在都没有提供M1处理器支持的conda环境,所以使用conda-forge提供的miniforge,目前有支持Apple Silicon的版本软件。下文将演示如何安装及使用。

一、Miniforge conda 环境安装

首先,下载 miniforge3,下载地址为:https://github.com/conda-forge/miniforge/#download
在页面中选择 Apple Silicon 版本

版本选择

安装过程

将下载好的脚本移动到用户目录,并赋予执行权限,安装即可。

mv Miniforge3-MacOSX-arm64.sh ~/
Chmod +x Miniforge3-MacOSX-arm64.sh
./Miniforge3-MacOSX-arm64.sh

一路跟着英文提示安装即可,非常简单
安装完成后重启终端,此时就可以使用conda insall安装所需库了,比如pandas,输入conda install pandas就会帮你自动安装此库

更换镜像源

      现在miniforge我们已安装成功,并能正常使用,但对于国内用户来讲,下载速度实在是太慢了,我们需更改其默认镜像源,比如我将其改为清华镜像源进行下载,那下载速度简直不要太快
首先打开终端,输入以下命令

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

确认回车运行没问题后,打开访达,搜索condarc,打开此文件
找到- dafaults此行,删除此行后退出,此时已完成更改镜像源,再进行库的安装后会发现下载速非常快。

二、Tensorflow 安装 

首先下载 environment.yml 文件,文件内容为:

name: apple_tensorflow
channels:
  - conda-forge
  - nodefaults
dependencies:
  - absl-py
  - astunparse
  - gast
  - google-pasta
  - grpcio
  - h5py
  - ipython
  - keras-preprocessing
  - numpy
  - opt_einsum
  - pip=20.2.4
  - protobuf
  - python-flatbuffers
  - python=3.8
  - scipy
  - tensorboard
  - tensorflow-estimator
  - termcolor
  - typeguard
  - typing_extensions
  - wheel
  - wrapt

我们利用上面下载好的 environment.yml 文件来创建一个 conda 环境,命令具体如下:

conda env create --file=environment.yml --name=tf_mac

等待环境创建完成后,我们激活新创建的环境:

conda activate tf_mac

然后再使用 pip 安装好 Apple 提供的 tensorflow 库即可。(版本为aplha3,截止于发稿时最新版本)

pip install --upgrade --force --no-dependencies https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl https://github.com/apple/tensorflow_macos/releases/download/v0.1alpha3/tensorflow_addons_macos-0.1a3-cp38-cp38-macosx_11_0_arm64.whl

安装完成后,可以进入 ipython 测试以下安装包是否已经成功安装。(import tensorflow的时候,可能有点慢,一般等待一下即可)

 

这样就完成了 M1 的 tensorflow 配置了。