假定已经有了一套裸机,怎么配置一个机器学习环境呢?
系统
最好使用LTS的Ubuntu,现在可以使用16.04,不过马上就到18年4月了可以准备上手18.04了。利用refus制作Ubuntu1604 服务器版启动盘,设置各个分区挂载点,双硬盘的话注意挂对区域,还有为节省空间一般根目录和/home目录分开挂,之后安装ubuntu,完成后更新源update,更新软件upgrade即可
驱动
装驱动可以说是环境配置中最容易出bug的地方了,稍不留神就可能装崩显卡,导致什么循环停留在登录界面等 bug。难怪 Linus 曾经极度鄙视 Nvidia。
一般而言出了bug大多是显卡和驱动版本不匹配。到官网去查合适的版本应该就可以了。目前个人实验最容易的安装方法是直接利用Nvidia的ppa源安装。
当然现在一般计算显卡都用 nvidia-384(上面安装 375 会自动安装 384 版本),而且听闻核弹厂说再更新驱动某些环境就不允许进行深度学习实验了,所以估计驱动会长时间维持在这一版本。
安装完后reboot,Terminal 输入 nvidia-smi 应该可以看到显卡信息。
CUDA
安装CUDA8.0。下载CUDA的安装脚本,而不要用直接安装。因为直接安装会覆盖前面装好的驱动,有可能误装错误驱动。用脚本安装时,当提示安装驱动时选择no,其他都yes或者默认即可。
将CUDA加入系统变量,最好加入.profile或.bashrc文件这样以后不必每次都执行。
安装完成后测试,nvcc -V 显示版本信息,CUDA EXAMPLES里面make编译一下即可。
CUDNN
这里下载俩链接库cudnn5.1和cudnn6.1,因为不同的深度学习库需要的不同,我们软链到相应匹配的即可。这个需要在英伟达官网注册才可以下载。解压完成后移动到系统lib区并且更新软连接即可。
Caffe
自从 ubuntu1704开始 caffe 就加入了ubuntu的 apt 库(贾大神V587),将来使用1804的筒子安装可就方便啦。不过现在使用1604的童鞋也不要方,其实也很好配的。首先安装 Caffe 依赖库:
1.Google 全家桶
(1)结构化数据交换格式 protobuf
(2)高效k-v数据库 leveldb
(3)压缩、解压缩工具 snappy
(4)日志工具 glog
(5)命令行参数处理 gflags
2.C++标准后援(备胎)库 boost
3.线性代数运算库(二选一)
4.大量文件数据 IO hdf5、lmdb
之后就可以 clone 下来 caffe 源码配置 Makefile.config 然后编译了。这里注意要改一下hdf5库的 include 和链接库名称(前面装的是 hdf5-serial 而配置是hdf5)。之后就基本没有啥问题了,若有对症下药自行Google。
Tensorflow
来自 Google 的“啥都会·就是不太好用·Tensorflow”。这里采用虚拟环境安装以隔离相关库配置。之后框架都采用独立虚拟环境就不再细说。
1.安装python pip(要求安装版本>=8.1)安装包和虚拟环境包:
2.创建 tensorflow 虚拟环境:
3.启动虚拟环境
4.在此虚拟环境下安装tensorflow(一般下图第一步就OK了)
5.以后每次使用只要打开虚拟环境,不用时关闭虚拟环境即可
Theano
去年9月份Theano宣布停止维护开发了,所以这里不再建议使用Theano,可转向类似框架Tensorflow。
Keras
听说 tensorflow 不好用?没关系!Keras封装来拯救你!(工程领域推荐使用,研究者不推荐)
安装灰常简单:
注意配置其背后图计算引擎:
Pytorch
来自Facebook的超好用动态图深度学习框架Pytorch,研究者必备。若涉及图像比较多的话也要安装torchvision。
Caffe2
贾大神的又一杰作。如果你工程上有跨平台的需求,请参考一下Caffe2。安装依赖包比较多,详情参见caffe2.ai官网。根据你的需要安装完依赖包后,从源码构建即可:
CNTK
巨硬出品,必属精品。这个框架对分布式支持特别好,有相关需要的小伙伴可以来用这个。直接whl源安装。
mxnet
Amazon官方框架,李沐、陈天奇、解浚源等国人大神开发的框架。安装非常简单,一行代码搞定:
Chainer
一家日本公司Preferred Networks 开发的神经网络框架,应该是开创了 define-by-run 式框架的先河(据说 mxnet 和 pytorch都有借鉴这个框架)。有兴趣的小伙伴可以试试。安装也非常简单:
其他一些工具
ssh远程连接、screen远程terminal、VNC等等。如果有写网页展示的需要可以再装个apache服务器。
总结
本文总结了深度学习软件平台的配置过程。当然上述所有Python都是基于2.7的,若希望改为Python 3版本可自行在相关框架官网搜索相应安装方法。
另外本文汇总了许多框架的安装方法,实际上只需要安装个人用的最顺手的两三个即可,毕竟简历上写精通各种框架的安装并没有加分。一个机器学习(深度学习)研究者、开发者的核心竞争力是数学和编程,与大家共勉。
领取专属 10元无门槛券
私享最新 技术干货