本文首发于我的学习之路,点击访问我的学习之路(liguang.wang)

1 背景

最近使用起了Mac Mini,需要安装Pytorch。网上的教程非常老旧,可读性较差,于是记录下自己的安装过程,分享给大家。

2 详细过程

2.1 安装Miniconda

miniconda比Anaconda更加轻量,使用起来几乎一样,根据网上现有信息,很多都是在推荐安装miniconda,所以我们此处也是安装miniconda。
为了追求速度更快,我们使用清华源。
1、下载miniconda。
本文推荐使用此版本(https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_23.3.1-0-MacOSX-arm64.sh),可以直接点击下载,也可以使用此命令下载:

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_23.3.1-0-MacOSX-arm64.sh

注意,本文以此推荐版本为准,使用其他版本时本文命令和最终效果可能有出入!

2、安装miniconda。
使用如下命令安装miniconda:

zsh ./Miniconda3-py39_23.3.1-0-MacOSX-arm64.sh

如果没有权限,使用如下命令加权限:

chmod +x  ./Miniconda3-py39_23.3.1-0-MacOSX-arm64.sh

注意:请先进入到下载文件所在的目录再执行本小节。
3、检查安装结果。
首先,关闭终端,然后再重新打开。
如果用户名前出现(base)字样,说明安装成功,请跳过本小节。
如果没有出现,请继续阅读本小节。
使用如下命令:

cd ./miniconda/bin

然后执行以下命令,对miniconda进行初始化:

conda init zsh

然后关闭终端,再重新打开,此时(bash)出现。
如果提示command not found,请继续按下面的命令操作:
在终端输入

vim ~/.zshrc

在里面添加这一句,即将conda所在路径添加到环境变量中

export PATH=/Users/qianying/miniconda3/bin:$PATH

保存后,退出,在终端输入:

source ~/.zshrc

完成后,关闭终端重新打开,输入:

conda init zsh

完成初始化。
注意:以上命令请根据自己的目录情况进行相应调整。本小节仅适用于shell为zsh的情况(如果未做调整,M2电脑默认shell均为zsh),如果默认shell不是zsh,请根据相应shell调整第二条命令!
4、关闭自动激活base。
输入以下命令关闭自动激活base:

conda config --set auto_activate_base false

至此,miniconda安装完成。

2.2 安装Pytorch

1、为保证网速,先修改为清华源。

cd ~
vim ./.condarc

然后输入i,写入如下内容:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  deepmodeling: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/

然后按下ESC按键,输入:wq保存。
最后在终端中执行以下命令:

conda clean -i

从而清除缓存。
2、建立一个新的conda环境。
使用以下命令:

conda create -n torch python=3.9

3、使用以下命令安装Pytorch:

conda install pytorch::pytorch torchvision torchaudio -c pytorch

4、使用以下命令激活新创建的conda环境:

conda activate pytorch

5、输入python,然后依次输入下面的语句,如果和图片一致,说明安装成功。
截屏2023-07-21 22.00.04.png

3 修订记录

2023.7.21 完成初稿
2023.11.04 针对command not found进行修改。

1、创建分区
使用fdisk 设备文件名创建分区。这里以/dev/sda为例,输入下面的命令:

fdisk /dev/sda

使用输入m查看命令帮助,结果如下图所示:
屏幕截图 2022-10-12 205212.png
其中,输入p查看当前设备上的分区情况,使用n创建新分区。
2、查看当前设备的分区情况。输入p,得到如图所示的结果:
屏幕截图 2022-10-13 092326.png
3、创建一个主分区。
输入n,然后输入p,表示创建一个主分区。然后需要输入分区编号,这里可以直接回车,表示采用默认编号。接下来输入起始的磁柱号,同样可以直接回车,表示紧接着从最近的磁柱号来划分分区。接下来,输入分区空间大小,此时,可以直接输入分区截止的磁柱号,也可以输入分区的大小。由于输入结束的磁柱号不够直观,这里我们直接输入分区大小,这里以分区大小为1G为例,输入+1G。输入完成后,按下回车,此时分区就已经创建好了。最后,输入w进行保存,完成分区创建。相关结果如图所示:
屏幕截图 2022-10-13 093824.png
4、通知内核分区产生变化。输入下面的命令:

partprobe /dev/sda

通知内核分区发生了变化。
5、创建文件系统。使用下面的命令,格式化新创建的分区:

mkfs -t ext3 -b 1024 /dev/sda4

其中,-t表示文件系统的类型,-b表示块大小,最后加上分区的设备文件。
6、挂载。
将新创建的分区挂载到某个目录下面。这里以test666为例。输入下面的命令,将新创建的分区挂载到test666目录下:

mount /dev/sda4 test666

注意,如果挂载点不在当前目录,需要输入目录的绝对路径。
屏幕截图 2022-10-13 093941.png
7、输入df -h命令,查看挂载结果。
屏幕截图 2022-10-13 094017.png

一、下载anaconda

1、直接通过anaconda官网下载会非常慢,很容易超时失败,这里我们使用清华源来下载anaconda。
2、直接访问链接https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/下载自己想要的版本即可。如果执行了这一步请跳过第3步。如果您不知道选哪个版本,请跳过这一步继续看第3步。
3、如果跳过了上面的第2步,可通过访问此链接https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2021.11-Windows-x86_64.exe下载本文推荐的anaconda3-2021.11版本。

二、安装anaconda

1、直接选好自己想要安装到的目录后,其他保持默认即可,非常不建议选中自动添加环境变量选项(即图片中的第一项),而是建议参考后面步骤手动添加环境变量如果您在安装过程中更改了包括但不限于自动添加环境变量选项,本小节不再适用,请从第三小节看起。
屏幕截图 2022-09-04 182150.png
2、手动设置环境变量。
安装如图所示步骤,将anaconda的Scripts目录添加到Path中。
屏幕截图 2020-12-26 152903-sy.png
先选中Path,然后点编辑。
屏幕截图 2020-12-26 152939-sy.png
点击新建,输入自己anaconda的Scripts目录的绝对路径
屏幕截图 2020-12-26 153019-sy.png

三、切换国内源

采用上海交通大学anaconda源。在C盘用户目录下找到.condarc文件,写入以下内容,保存。

default_channels:
  - https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/r
  - https://anaconda.mirrors.sjtug.sjtu.edu.cn/pkgs/main
custom_channels:
  conda-forge: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/
  pytorch: https://anaconda.mirrors.sjtug.sjtu.edu.cn/cloud/
channels:
  - defaults

四、第一次使用conda activate时报错

按照屏幕上输出的提示信息,找到cmd.exe对应的那个执行即可。

支持作者和疑问解答

本文首发于我的学习之路(https://liguang.wang),欢迎访问!
写文章不易,如果这篇文章有帮到你,希望你能给予一定赞赏。您可以通过当前网站或App的赞赏渠道支持,或者点击此处支持作者
如果对于本文内容有疑问,可以点击此处联系作者

其中

proxy_ip对应的代理服务器的ip, proxy_port对应的代理服务器的port

filename对应想要传输的文件

username对应目标主机的用户名, target_ip对应目标主机的ip,target_path对应想要传输的目标地址

scp -o "ProxyCommand=nc -X connect -x proxy_ip:proxy_host %h %p" filename username@target_ip:/target_path