MXNet 是一个深度学习库,类似于Theano 和 TensorFlow。最近想搞下深度学习,于是便安装mxnet。之前安装过TensorFlow,也踩了很多坑,可谓是历经波折。有的时候,配置环境真的是一门玄学。
网上大部分教程有一个误区,新手很容易就踩坑。现在很多人都有了性能较好的笔记本,配备了较好的独显,像RTX 3060、RTX3070,甚至80和90系列。所以对于小规模数据,利用GPU来加速训练便十分方便。这就需要安装CUDA。CUDA是NVIDIA推出的通用并行计算架构,通过利用 GPU 的处理能力,可大幅提升计算性能。CUDA Toolkit Archive的官网:传送门。
要利用GPU,就要安装mxnet的GPU版本,这就需要用到CUDA。很多教程都是让你在官网下载对应版本的CUDA,然后安装。如下图:
上面这张图片,是把CUDA安装在了本地。实际上,这样做是没有用的。后面在Anaconda环境里面也是找不到的。其实只需要直接在conda虚拟环境中安装即可。
1、先安装好Anaconda,这玩意是个神器,管理各种python库很方便。安装很简单,就是一直下一步即可。这里还是简单提一下:
这步随便,我选的是Just Me。其实没啥影响,毕竟自己电脑肯定只有自己用。
这步可以2个都勾上,下面的是把python作为系统默认的版本。上面是加入系统环境变量,其实都没啥用。因为我们要建立互相独立,互不影响的环境。
2、安装好以后,在开始菜单会出现如下选项:
我习惯用“Anaconda Prompt”,即第三个选项。它和“Anaconda Powershell Prompt”差不多。
打开Prompt。然后创建虚拟环境,命令如下:
conda create -n mxnetcu102 python=3.7
这里需要注意,mxnetcu102是可以自己随便写的,只是环境的名字,我是为了方便辨认,所以这样命名。后面的是指定python版本。最好用python3.7,如果是更高的版本(目前最新的是python3.11)可能不支持。
3、创建好环境以后,使用命令"conda env list" 可以查看当前环境列表。
conda activate mxnetcu102 激活虚拟环境
conda list 查看已经安装的包
创建和激活虚拟环境后,接下来需要安装cuda10.2的版本。注意,这里选择什么样的cuda版本很重要,可以参照下图:(传送门)
我选的是cuda10.2,因为它可以支持mxnet1.6.0至1.9.1的所有版本,兼容性最好。大家可以自行根据需求选择,我的仅供参考。
也可也参考下图:(传送门)
确定好cuda版本后,使用如下命令安装:
conda install cudatoolkit=10.2
安装完成如下图:
4、安装好cuda以后,接下来才是真正的安装mxnet。注意,因为mxnet目前还没有提供 conda 安装的方式,只能用pip安装,conda不行(mxnet 早期为了方便用户,提供了各个不同的 cuda、mkl 等等的编译版本供使用,但是一直没有提供 conda 安装的方式):
运行命令:
pip install mxnet-cu102==1.7.0
pip install mxnet-cu102==1.7.0 -f https://dist.mxnet.io/python
这里引入了mxnet的官方源,因为一般第三方源无法下载mxnet的比较新的版本(基本上会少2代),需要直接从官网下载才能保证是最新的版本。
官方镜像源很慢,会导致timeout安装出错,可以采用迅雷下载:
下载链接:
https://repo.mxnet.io/dist/python/cu102/mxnet_cu102-1.7.0-py2.py3-none-win_amd64.whl
安装:
pip install D:\Download\xunlei\mxnet_cu102-1.7.0-py2.py3-none-win_amd64.whl
设置pip镜像源:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
安装成功,验证代码:
import os
import mxnet as mxnet
print(mxnet.__version__)
此外,每个虚拟环境需要单独安装Jupyter和Spyder。可以通过命令,也可也通过anaconda控制面板。
conda install ipykernel
conda install spyder
CPU版安装十分简单,一条命令解决问题:conda install mxnet
因此,新手如果使用CPU版,可以省去很多麻烦。
PS:不管是CPU版还是GPU版,cuDNN是不需要额外安装的。下图为错误教程:
更多内容关注笔者公众号:极客随想。