0%

使用Mac系统下的GPU搭建机器学习环境

在我的印像中,一直认为在Mac下无法使用GPU进行训练,最近查阅了一些资料,才发我的认知太陈旧了。新版的Pytorch已经支持了多种类型的GPU,这其中也支持了Mac M1下的GPU。

今天我们就来看看该如何在Mac M1下使用GPU进入机器学习训练。

Anaconda还是Miniconada?

使用Python的人都会遇到库的安装、环境的管理问题,Conda就是这样一个工具来帮助你解决这些问题。

Anaconda想必大家比较熟悉,但是很多人并不知道还有个轻量化的Miniconda。对于有一定基础的Python使用者,我本人更推荐Miniconda的。

Anaconda

  • 适合初学者(因为有图形界面,还内置了jupyter lab, spider等等)
  • 预装了超过1500个科学计算库(99%其实用不上)
  • 安装比较耗时,也比较占用空间
  • 因为预装了很多库,所以不需要重复下载。
  • 可能对一些库做了改进(?)

Miniconda

  • 不介意手动安装所需的库(其实这个并不麻烦)
  • 节省空间和时间

我个人感觉Anaconda太过笨重,很多人的电脑可能打开Anaconda都需要一点时间。图形化的界面在我看来反应比较迟钝,如果使用命令行其实还不如直接上Miniconda。

安装Miniconda

从这里下载Miniconda。假设我们使用的Python版本是3.10,执行下面的命令来安装Miniconda:

1
sh Minconda3-xxx-xxx...sh -b

然后执行下面的命令初始化conda:

1
~/miniconda3/bin/conda init

至此,Miniconda就安装好了。

配置新的Python环境

当Miniconda安装好后,我们可以通过下面的命令创建一个新的Python环境:

1
conda create --name ml python=3.10 -y

上面我就使用conda创建了一个新的Python环境,名子叫ml,它使用的Python是3.10。
不过,虽然我们创建好了Python环境,但它还不能使用,因为在使用之前需要先将它激活。你可以使用下面的命令来激活它:

1
conda activate ml

另外,当我们不需要这个环境时,可以通过下面的命令退出:

1
conda deactivate 

安装pytorch

前面将Python环境设置好后,接下来就可以安装Pytorch了,命令如下:

1
conda install pytorch torchvision torchaudio -c pytorch

之后,你可以使用下面命令验证你的Mac M1中是否有可用的GPU:

1
python -c "import torch;print(torch.backends.mps.is_built())"

如果命令的返回结果为True,说明有GPU可用。

使用Mac M1下的GPU

在Mac M1下的GPU称作mps,它类似于Nvidia的cuda。如果你想在Mac M1下使用GPU进行深度学习的训练,只需要将运算指定到mps上运行即可。

1
2
3
4
5
import torch
model = torch.nn.Linear(5,1).to('mps')
x = torch.randn(5).to('mps')
y = model(x)
pront(y.shape)

如上代码所示,该代先首先定义了一个最简单5x1的线性模形,并告诉Pytorch它在Mac M1的GPU上运行;然后给该模形创建一个输入,该输入也是在GPU
上,是一个5x5的tensor,最后输出运算结果的维度。

如果上面的代码可以正常运行,说明你Mac上的GPU确实可以正常工作。

小结

如果你是一名机器学习的初学者,并且手上有一台Mac电脑的话,你可以直接使用Mac搭建机器学习环境进行学习。这样就可以节省一大笔钱了!

欢迎关注我的其它发布渠道