M1 Silicon 安装tensorflow_macos

M1 Silicon 安装tensorflow_macos

  • 1. 下载miniforge3
  • 2 创建虚拟环境
  • 3 安装apple tensorflow
    • 方法1(推荐):
    • 方法2:
  • 测试代码

苹果官网: https://developer.apple.com/metal/tensorflow-plugin/
apple github: https://github.com/apple/tensorflow_macos
方法1: https://www.cyberlight.xyz/passage/tensorflow-apple-m1
方法2: 方法2

1. 下载miniforge3

1.1 从apple开发者官网给的参考进行下载ARM版的miniforge3
M1 Silicon 安装tensorflow_macos_第1张图片

运行以下3行代码完成miniforge3的下载和安装。

chmod +x ~/Downloads/Miniforge3-MacOSX-arm64.sh
sh ~/Downloads/Miniforge3-MacOSX-arm64.sh
source ~/miniforge3/bin/activate

1.2 激活miniforge的conda环境变量(可能不需要)

vim ~/.bash_profile

按 i键 进入编辑模式,输入自己的conda环境路径

export PATH="/Users/shizhiqing/miniforge3/bin:$PATH"

输入完成后,按esc键退出编辑模式,然后输入 :wq 回车保存。
再输入:

source $HOME/.bash_profile

2 创建虚拟环境

2.1 创建虚拟环境依赖

conda create -n tfpy38 python=3.8

2.2 激活tfpy38解释器

conda activate tfpy38

2.3 创建虚拟环境

python -m venv tensorflow_macosvenv

3 安装apple tensorflow

方法1(推荐):

从apple github下载最新的download_and_install.sh文件,将download_and_install.sh放在tensorflow_macosvenv同一目录。
M1 Silicon 安装tensorflow_macos_第2张图片
在tfpy38下运行以下:

bash download_and_install.sh

完成安装。

方法2:

  1. 从apple github直接下载release的tar.gz文件。
    M1 Silicon 安装tensorflow_macos_第3张图片
  2. 安装tensorflow部分文件
pip install --upgrade --no-dependencies --force+空格+拖入下图四个文件到 terminal,空格隔开

M1 Silicon 安装tensorflow_macos_第4张图片

  1. 安装附加软件包
pip install absl-py astunparse flatbuffers gast google_pasta keras_preprocessing opt_einsum protobuf tensorflow_estimator termcolor typing_extensions wrapt wheel tensorboard typeguard
  1. 安装tensorflow
pip install --upgrade --force --no-dependencies+空格+拖入TensorFlow文件

完成安装。

测试代码

import tensorflow as tf
import time

print(tf.__version__)
mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])

model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])


start = time.time()

model.fit(x_train, y_train, epochs=5)

end = time.time()

model.evaluate(x_test, y_test)
print(end - start)  # 3秒多运行完成

你可能感兴趣的:(tensorflow,macos,深度学习)