赞
踩
目录
1、下载执行m1芯片arm64的“miniconda”Miniforge
3、为zsh 的shell 添加环境变量,如果使用的bash无需操作
6、其他博主m1芯片安装tensorflow与pytorch
- 终端执行:
- xcode-select --install
1、个人推荐使用miniconda,我自己用了miniconda与miniforge,感觉还是miniconda更适合我
2、使用miniconda安装:m1 Mac 使用 miniconda 安装python3.8.11 和 tensorflow2.5 & pytorch1.8(推荐)
github地址:GitHub - conda-forge/miniforge: A conda-forge distribution.
- cd到保存的目录执行:
- bash Miniforge3-MacOSX-arm64.sh
- 一路 yes 即可
将conda相关的环境变量拷贝到zsh的配置文件.zshrc中即可完成zsh环境变量的配置
- # >>> conda initialize >>>
- # !! Contents within this block are managed by 'conda init' !!
- __conda_setup="$('/opt/miniforge3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
- if [ $? -eq 0 ]; then
- eval "$__conda_setup"
- else
- if [ -f "/opt/miniforge3/etc/profile.d/conda.sh" ]; then
- . "/opt/miniforge3/etc/profile.d/conda.sh"
- else
- export PATH="/opt/miniforge3/bin:$PATH"
- fi
- fi
- unset __conda_setup
- # <<< conda initialize <<<
source ~/.zshrc
- 添加源:
- conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
- conda config --add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/
- conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
- conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/msys2/
- conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/bioconda/
- conda config --add channels https://mirrors.ustc.edu.cn/anaconda/cloud/menpo/
- conda config --set show_channel_urls yes
- 因为这里我就踩坑了,选了个No,但是没关系,可以重装Miniforge3:具体终端里删除相关文件就好了。具体操作如下:
- # Remove the root prefix
- rm -rf $(conda info --base)
- rm -rf ~/miniforge3 # 具体根据自己的安装地址,如果不存在跳过
- rm -rf ~/.conda
- rm -rf ~/.condarc
- 最后删除 .bash_profile .zshrc关于conda的环境变量
-
- 然后重新执行安装命令:
- bash Miniforge3-MacOSX-arm64.sh
1、tensorflow与python版本的对应:cuda 与 cudnn TensorFlow 对照表官网
2、pytorch与python版本的对应:虽然mac用不了cuda,但我还是习惯根据tensorflow版本所对应的cuda版本来选择pytorch的版本
tip:需要科学上网,否则建议用文章最下面其他几个博主的安装方法
4.2.1、创建一个python3.8虚拟环境( 如果安装出错可以直接删除这个虚拟环境 )
- conda create -n py3.8_tf2.5_torch1.8 python=3.8
- 激活:
- conda activate py3.8_tf2.5_torch1.8
4.2.2、安装cython
conda install cython
4.2.3、使用apple官网安装tensorflow
(1)安装 apple 的 TensorFlow dependencies
- 如果安装 tensorflow 2.5:
- conda install -c apple tensorflow-deps==2.5.0
-
- 如果安装 tensorflow 2.6:
- conda install -c apple tensorflow-deps==2.6.0
(2)Install base TensorFlow 2.5.0
- python -m pip install tensorflow-macos==2.5.0
-
- tip:
- ① 该命令安装的numpy版本为1.19.5,所以要装gensim的童鞋可以安装gensim4.0.0
- pip install gensim==4.0.0
- ② 命令运行的过程可能报错,我遇到报错的原因大多都是包依赖问题,根据报错内容将缺少的包安装即可
- conda install 包名
(3)Install tensorflow-metal plugin
python -m pip install tensorflow-metal
(4)验证是否可以使用tensorflow
- import tensorflow as tf
- import time
- 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.summary()
- 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)
4.2.4、升装级已有安的apple tensorflow
- 第一种方法(apple官网):
- # uninstall existing tensorflow-macos and tensorflow-metal
- python -m pip uninstall tensorflow-macos
- python -m pip uninstall tensorflow-metal
- # Upgrade tensorflow-deps
- conda install -c apple tensorflow-deps==版本号 --force-reinstall
- # or point to specific conda environment
- conda install -c apple tensorflow-deps==版本号 --force-reinstall -n my_env
- # 重新安装
- python -m pip install tensorflow-macos==版本号
- python -m pip install tensorflow-metal
-
- 第二种方法(推荐):
- 另起一个虚拟环境
直接根据官方的conda命令:Pytorch官网安装命令
- # conda
- conda install pytorch==1.8.0 torchvision==0.9.0
tensorflow2.4的bug较多
- import torch
- print('CUDA版本:',torch.version.cuda)
- print('Pytorch版本:',torch.__version__)
- print('显卡是否可用:','可用' if(torch.cuda.is_available()) else '不可用')
- print('显卡数量:',torch.cuda.device_count())
- print('是否支持BF16数字格式:','支持' if (torch.cuda.is_bf16_supported()) else '不支持')
- print('当前显卡型号:',torch.cuda.get_device_name())
- print('当前显卡的CUDA算力:',torch.cuda.get_device_capability())
- print('当前显卡的总显存:',torch.cuda.get_device_properties(0).total_memory/1024/1024/1024,'GB')
- print('是否支持TensorCore:','支持' if (torch.cuda.get_device_properties(0).major >= 7) else '不支持')
- print('当前显卡的显存使用率:',torch.cuda.memory_allocated(0)/torch.cuda.get_device_properties(0).total_memory*100,'%')
- --->
- CUDA版本: 11.7
- Pytorch版本: 1.13.1+cu117
- 显卡是否可用: 可用
- 显卡数量: 1
- 是否支持BF16数字格式: 不支持
- 当前显卡型号: NVIDIA GeForce GTX 960M
- 当前显卡的CUDA算力: (5, 0)
- 当前显卡的总显存: 3.9998779296875 GB
- 是否支持TensorCore: 不支持
- 当前显卡的显存使用率: 0.0 %
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。