Ubuntu16.04深度学习环境及框架配置

        前言:原来的1080带不动网络了,所以借用朋友的Tesla K80,不过遗憾的是师兄的一键安装脚本不管用了,所以记录一下自己的配置过程,希望以后不要踩坑。
        Ubuntu16.04 + Nvidia + CUDA8.0 + Opencv +Caffe + Tensorflow + Pytorch


Ubuntu16.04的安装

        注意Ubuntu的版本:推荐Ubuntu16.04或者Kylin16.04。一开始我是装的enhanced版,出现了某些问题,后面会详细说。至于硬盘什么的,就直接从实验室的机箱里面拆啦(⁎⁍̴̛ᴗ⁍̴̛⁎),注意关闭security boot。

注意事项:如果安装Ubuntu后登陆进去,出现显示界面卡顿,窗口像PPT一样不断一帧一帧的刷新,而鼠标移动显示却很正常,请参考以下解决方案。

        出现上述问题,其实不是系统卡机。经过验证,这种一般都是分辨率问题导致的:

# 解决方案:改分辨率
# 打开grub文件
sudo vim /etc/deafault/grub
# 打开GRUB_GFXMODE选项,或者修改为
GRUB_GFXMODE=1024*768

        注意去掉选项前面的注释符号 #,分辨率原本为 × 号,建议改成 * 号,反正我用 × 号仍然会导致问题, * 号就不会。如果你没有遇到,那可能是我人品吧ಥ_ಥ。

# 使配置文件生效
sudo update-grub

Nvidia显卡驱动安装

       对的,没错,最坑的就是这个,相信装过的人就知道这是一个大坑!所以我决定写的废话一点,详细说一下安装过程步骤的几大坑!

1.禁用草根驱动nouveau

        我一直很好奇系统自带的驱动怎么了,非要禁用他,心疼。但是他跟Nvidia冲突了,对不起,我...只能向邪恶势力低头了...
        不要听信网上乱七八糟的改blacklist.conf的方法,真的是欺骗我的感情。不喜欢nouveau,就请直接了当的移除他好嘛,改来改去他不难过嘛!!!

# 移除并备份驱动,注意文件路径
cd /lib/modules/4.4.0-21-generic/kernel/drivers/gpu/drm/nouveau
mv ./nouveau.ko ./nouveau.ko.bak
# 重新加载
update-initramfs -u

2.下载Nvidia驱动

驱动下载

注意事项:一定要选择run版本,不怕循环登录问题的大可以安装deb(微笑)

        注意产品类型以及CUDA版本对应,更重要的是,一定要下载run版本!run版本!run版本!重要的事说三遍~~另外,Tesla K80的驱动有一个坑,只有选择操作系统为:Linux 64-bit,才是run版本,选择Ubuntu的话,就是deb版本,害的我找了好久。

# 进入文本模式
Ctrl+Alt+F1
# 关闭桌面服务
sudo service lightdm stop
# 安装驱动,定位到驱动所在路径,建议之前就放在home目录下
sudo ./NVIDIA-Linux-x86_61-384 --no-x-check --no-nouveau-check --no-opengl-files
# 重启计算机reboot,查看是否安装成功
nvidia-smi

3.可能会出现的问题

        OK,如果你能成功安装,并且重启之后能正常登陆,请感谢我(害羞),如果不能请参照下面我踩过的两个坑。

问题1:安装过程中出现 ERROR :an error accurred while performing the step:building kernel modules

        出现这个问题是因为Nvidia显卡驱动不适应Linux的内核版本造成。这就是笔者一开始说的建议安装Ubuntu16.04而不是其他版本的原因,enhanced版本虽然不会出现上述的分辨率PPT问题,但可能会报如上的错误。

解决方案1:去Nvidia官网下最新驱动
解决方法2:换系统版本:建议Ubuntu16.04

        对于Tesla K80的显卡驱动,笔者只找到这个run版本,你大可以安装deb版本,只要你觉得自己天赋点点够了,不怕循环登陆(再次微笑)。对于其他显卡驱动,视情况而定,不过还是建议run版本。所以最简单的还是方法2啦(摊手)。

问题2:安装完成重启后,循环登录

        这个问题就很司空见惯了,如果用deb驱动版本的小伙伴遇到了这个问题,我只能说:不听老人言(哈哈哈)。究其原因,是因为安装的过程中,没有禁止opengl。deb版本是一键自动安装,所以没有选项,而run版本可以避免这个问题,加上选项参数,即:

--no-x-check --no-nouveau-check --no-opengl-files

        请注意在出现上述问题重装驱动的时候,先要完全卸载原先的Nvidia显卡驱动。

sudo apt-get remove nvidia-*
sudo nvidia-uninstall

CUDA 安装

        这个就很easy,也不会出什么问题,请自行官网下载run版本CUDA安装包。

# Ctrl + Alt + F1 进入文本模式
# 关闭图像界面服务
sudo service lightdm stop
# 安装Cuda,建议安装包先放在home下
sudo sh cuda_8*.run --no-opengl-libs

        之后等到出现0%之后,长按空格增长到100%阅读完毕,按照提示安装完成,reboot重启计算机即可。注意跳过Nvidia驱动安装,一般情况下来讲,自带的驱动安装总会出问题(滑稽)。

# 打开配置文件
sudo gedit ~/.bashrc
# 在末尾加入
export PATH=/usr/local/cuda-8.0/bin:$PATH 
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
# 保存更改,刷新使配置生效
source ~/.bashrc

OpenCV安装

        一行命令解决问题,好奇为什么那么多人说要编译。。。

# python2.7
pip install opencv-python
# python3
pip3 install opencv-python

pip换源

        如果上述pip的时候速度太慢,或者在安装python其他库的时候速度根本上不去,这时候就换个源吧,速度飞起!从104k/s到3M/s的快感ψ(`∇´)ψ

方法1:conf文件配置

sudo mkdir ~./pip
sudo vim ~./pip/pip.conf
# 写入如下的阿里云配置
[global]
index-url=http://mirrors.aliyun.com/pypi/simple
[install]
trusted-host=mirrors.aliyun.com

方法2 :pqi切换:简单方便

# 下载qpi模块
sudo pip install pqi
# 查看可使用源
pqi ls
# 切换源
pqi use aliyun

apt 换源

        感谢室友提供给我的脚本,清华源——给你飞一般的感觉╮ ( ̄ 3 ̄)

# sh脚本文件内容如下
cp /etc/apt/sources.list /etc/apt/sources.list.back
echo "
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
" > /etc/apt/sources.list
apt-get update

Caffe 安装

        caffe 安装包已经备份到百度云,推荐离线安装。

链接: https://pan.baidu.com/s/1kB5bMgEygd3duWNK-V0T2Q 密码: xq5t

        一键安装脚本如下,造福小伙伴,请自建shell文件,内容如下:

# config
CAFFE_INSTALL=~
sudo apt-get install -y cmake
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev
sudo apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-date-time-dev libboost-atomic-dev libboost-python-dev 
sudo apt-get install -y libgflags-dev libgoogle-glog-dev protobuf-compiler liblmdb-dev libatlas-base-dev doxygen
sudo pip install scikit-image
tar -zxvf caffe.tar.gz
CAFFE_ROOT=$CAFFE_INSTALL/caffe
mv caffe $CAFFE_INSTALL/
cd $CAFFE_ROOT
mkdir build
cd build
cmake ..
#make -j $(($(nproc) + 1))
make -j 4
make install
echo "export PYTHONPATH=$CAFFE_ROOT/build/install/python:\$PYTHONPATH" | sudo tee -a /etc/profile

Tensorflow 安装

        tensorflow 安装包已经备份到百度云,推荐离线安装。

链接: https://pan.baidu.com/s/16KSir54pg4VMIpMkuOVNrQ 密码: a4rp

        脚本内容如下:

sudo pip install tensorflow_gpu-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl
pip install scipy
pip install h5py keras 

Pytorch 安装

        Pytorch 官网下载即可,检查Python和Cuda对应的版本,安装命令如下:

sudo pip install torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whl
sudo pip install torchvision

Pycharm 安装

        我觉得Pycharm挺好用的,分享一下百度云链接,造福小伙伴:

链接: https://pan.baidu.com/s/1fiEfUW1s-w7jvslF-IHxvw 密码: d7kp

       还是一键安装脚本,自建shell文件哦,脚本如下:

# install pycharm
tar -xf "pycharm-community-2017.3.3.tar.gz"
rm -f ~/.local/share/applications/jetbrains-pycharm-ce.desktop
sudo mv pycharm-community-2017.3.3 /opt/
sudo ln -s -f /opt/pycharm-community-2017.3.3/bin/pycharm.sh /usr/bin/pycharm
# run pycharm
pycharm

        到这里,深度学习框架就安装完毕啦,so easy。在这里强推Pytorch,超好用!
        什么,你问我为什么要强推Pytorch?naive,难道你不知道贾大神已经说了caffe2要并入Pytorch嘛!!!(手动斜眼)
        刚起步博客小白一只,请多多指教。加班太晚了,先回去休息,日后(字面意思)有空再更新。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容