之前短暂使用过tensorflow,由于我比较看重框架的效率,而mxnet同时支持动态和静态计算图,内存管理也做了优化。除此之外,以前一直为人诟病的文档问题也得到了很大改善(李沐的深度学习教学视频,课程教材),现转战mxnet,将环境搭建过程与大家分享。课程教材中有mini conda下的安装过程,我使用的是Anaconda,一个更全面的集成包。现默认Ubuntu 16.04已安装到位,接下来步骤如下:
1. 在国内镜像(推荐清华镜像)下载linux版本最新的anaconda3,如Anaconda3-5.0.1-Linux-x86_64.sh,终端运行安装包,完成安装后,anaconda的环境变量会被添加到 .bashrc文件中(log-in和non log-in模式都会读取的环境变量文件)。
2. 安装cuda。mxnet支持cuda9,所以直接去nvidia官网下载cuda9的deb文件(之前有推荐runfile安装,亲测deb文件安装也没有问题),具体安装步骤按照nvidia给出的说明操作即可。需要注意的是,安装完成后在 .bashrc中添加环境变量
export LD_LIBRARY_PATH="/usr/local/cuda/lib64/:$LD_LIBRARY_PATH"
为了验证GPU是否就位,终端输入nvidia-smi查看显卡使用状态,如能显示nvidia驱动版本及GPU状态,则说明已经成功。linux默认是nouveau,但我安装好后自动就能识别出nvidia的驱动,如果识别不出还需要手动关闭nouveau。
3. 安装cudnn7, 推荐解压缩安装,将解压缩的文件复制到cuda对应的lib和include目录下。下载需要注册和登录,详细安装步骤见nvidia给出的官方说明。
4. 推荐pip安装mxnet,土豪gpu版本:
pip install mxnet-cu90==1.0.0
豪华至尊gpu+mkl版本
pip install mxnet-cu90mkl==1.0.0
如果需要用到mxnet.viz可视化工具(可选),还需安装
sudo apt-get install graphviz pip install graphviz
安装完成后,ipython中 import mxnet as mx,可能会报错
ImportError: libgfortran.so.3: cannot open shared object file: No such file or directory
终端输入 sudo apt-get install libgfortran3。至此mxnet环境搭建基本完成,推荐使用jupyter notebook,按照 zh.gluon.ai中教程和bilibili中李沐的视频,愉快地搭建你的深度学习模型吧:)
最后简单谈下用户体验,Amazon和Microsoft联合推出的gluon,用来搭建深度学习模型真的很简洁,静态图和动态图相结合的方式也非常灵活,后面还会继续写关于mxnet的使用体会,先这样吧