ubuntu16.04+gtx1080ti+caffe安装记录

来源:互联网 发布:js获取自定义属性 编辑:程序博客网 时间:2024/05/17 02:24

本文在博主知乎的地址。

这几天安装cuda出现了很多问题,特意记录并分享给需要的人。拿走不谢-:)

我的环境:GTX1080Ti,Ubuntu16.04,intel集显

遇到的问题:我安装显卡驱动出了问题,第一次安装官网最新版驱动381.xx(记得不清楚了),安装完驱动,安装cuda,caffe没有问题,但是训练mnist网络时出错:cannotcreate cublas handle. cublas won't be available。查了之后得知是驱动安装不正确。反思是不是驱动版本太高。第二次直接安装cuda8.0 run文件,并安装其自带的驱动(375.26),安装之后驱动能正常工作,但是无法识别GPU型号。第三次直接安装cuda8.0 deb文件,成功了,驱动版本是(375.66),训练mnist网络也没有问题,但是重启黑屏,当时没有找到很好的方法(后来找到了),就又重新安装了。第四次直接用命令行apt-get install安装的375驱动,刚好是375.66,然后安装cuda8.0 run文件,没有安装其自带的驱动,结果成功了,但是也遇到重启黑屏。

第一部分:安装nvidia驱动,CUDA8.0和cudnn5.1

备注:开机通过BIOS更改初始显卡可以选择集显(IGFX)或独显(PCIE),独显进入ubuntu需要从启动菜单"高级模式"->"Recovery Mode"->”Resume”,多按几次enter就可以进入文本界面(由于没有驱动)。

Step 1:检查是否安装有nvidia第三方驱动nouveau

lsmod |grep nouveau #若有输出,需要禁止该nvidia第三方驱动,若无,忽略该步骤

sudo touch /etc/modprobe.d/blacklist-nouveau.conf sudo chmod a+w /etc/modprobe.d/blacklist-nouveau.conf

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

#添加几行:

blacklist nouveau

options nouveau modeset=0

sudo update-initramfs -u

reboot#重启

Step 2:安装显卡驱动(以apt-get install形式安装,驱动的安装可能需要多试几次了,其他安装方式请查看官网或谷歌百度)

Ctrl+Alt+F1#进入文本模式(已经是文本模式忽略)

sudo service lightdm stop#关闭图形化环境

sudo apt-get update

sudo apt-get install nvidia-375

sudo nvidia-smi#安装完验证,若列出了GPU的信息列表则表示驱动安装成功

sudo service lightdm start#会自动切换到图像界面

Step 3:安装CUDA8.0(以run文件为例)

sudo bash cuda_8.0.61_375.26_linux.run

#安装过程中,不安装驱动,因为已经安装过了,其他的默认或选择就好,在网上看到说安装cuda之前,需要安装一些依赖,我有安装过,但不知道有没有用,安装cuda最好看看官网的安装指南CUDA Toolkit Documentation,一步一步来,比较保险

#依赖部分 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

Step 4:环境变量设置

sudo vim ~/.bashrc#打开用户环境变量文件

#将以下两行加入到文件末尾

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

source .bashrc#让环境变量生效

Step 5:测试CUDA的sammples

cd /usr/local/cuda-8.0/samples#也可以是/home/usrname/NVIDIA_CUDA-8.0_Samples

make

cd bin/x86_64/linux/release/

./deviceQuery#最后能看到Result = PASS就算成功

./bandwidthTest#同上,能看到Result = PASS就算成功

Step 6:配置cuDNN5.1

#下载(需要注册)cuDNN5.1之后进行解压,解压后的文件夹为cuda

sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/lib* /usr/local/cuda/lib64/ cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.5 sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 sudo ln -s libcudnn.so.5 libcudnn.so

第二部分:配置安装caffe

Step 1:安装caffe,pycaffe依赖

sudo apt-get upgrade

sudo apt-get install -y build-essential cmake git pkg-config

sudo apt-get install python-protobuf

sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler

sudo apt-get install --no-install-recommends libboost-all-dev

sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev

#install ATLAS by sudo apt-get install libatlas-base-dev or install OpenBLAS by sudo apt-get install libopenblas-dev or MKL for better CPU performance

sudo apt-get install libatlas-base-dev

#Python

sudo apt-get install python-dev

sudo apt-get install -y python-pip

sudo apt-get install python-numpy

sudo apt-get install python-matplotlib

sudo pip install scikit-image

Step 2:配置Makefile.config

sudo cp Makefile.config.example Makefile.config

sudo vim Makefile.config

#根据个人情况修改文件:

USE_CUDNN := 1#若使用cudnn

USE_OPENCV := 1

USE_LEVELDB := 1

USE_LMDB := 1

CUDA_DIR := /usr/local/cuda

PYTHON_INCLUDE := /usr/include/python2.7 /usr/lib/python2.7/dist-packages/numpy/core/include

PYTHON_LIB := /usr/lib

WITH_PYTHON_LAYER := 1#若要使用Python来编写layer

#以下两行比较重要,否则会报错

INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/hdf5/serial /usr/include/hdf5/serial

LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial

Step 3:编译caffe

make all

make test

make runtest

make pycaffe#不用python接口可以去掉

make distribute#可不用,把所有执行的相关文件放在一个目录下

#如果没有什么问题的话,就应该算成功了

Step 4:验证caffe

#用mnist网络验证

cd /xx/xx/caffe-master#回到Caffe根目录

./data/mnist/get_mnist.sh#下载MNIST数据库并解压缩

./examples/mnist/create_mnist.sh#将其转换成Lmdb数据库格式

./examples/mnist/train_lenet.sh#训练网络,没有问题应该能看到损失与精度数值,至此,恭喜你大功告成!

第三部分:重启循环进入登录界面,重启黑屏解决办法

question 1:重启之后重复进入登录界面解决办法(如果cuda deb安装驱动,没有/proc/driver/nvidia,执行nvidia-xconfig也能解决)

利用启动菜单"高级模式"->"RecoveryMode"->”Resume”,等系统到登陆界面,按下”Ctrl+Alt+F1”,输入用户名密码登陆后,进行以下操作(可能要执行几次):

sudo nvidia-xconfig

#当成功建立/etc/X11/xorg.conf并备份,则说明成功

question 2:重启之后黑屏(安装nvidia驱动容易出现这个问题),解决办法

sudo vim /etc/default/grub

#将”quiet splash”改为”quiet splash nomodeset”

sudo update-grub

reboot

第四部分:参考的教程,在这里表示衷心的感谢


 这几天安装cuda出现了很多问题,特意记录并分享给需要的人。拿走不谢-:)
我的环境:GTX1080Ti,Ubuntu16.04,intel集显
遇到的问题:我安装显卡驱动出了问题,第一次安装官网最新版驱动381.xx(记得不清楚了),安装完驱动,安装cuda,caffe没有问题,但是训练mnist网络时出错:cannotcreate cublas handle. cublas won't be available。查了之后得知是驱动安装不正确。反思是不是驱动版本太高。第二次直接安装cuda8.0 run文件,并安装其自带的驱动(375.26),安装之后驱动能正常工作,但是无法识别GPU型号。第三次直接安装cuda8.0 deb文件,成功了,驱动版本是(375.66),训练mnist网络也没有问题,但是重启黑屏,当时没有找到很好的方法(后来找到了),就又重新安装了。第四次直接用命令行apt-get install安装的375驱动,刚好是375.66,然后安装cuda8.0 run文件,没有安装其自带的驱动,结果成功了,但是也遇到重启黑屏。
第一部分:安装nvidia驱动,CUDA8.0和cudnn5.1
备注:开机通过BIOS更改初始显卡可以选择集显(IGFX)或独显(PCIE),独显进入ubuntu需要从启动菜单"高级模式"->"Recovery Mode"->”Resume”,多按几次enter就可以进入文本界面(由于没有驱动)。
Step 1:检查是否安装有nvidia第三方驱动nouveau
lsmod |grep nouveau #若有输出,需要禁止该nvidia第三方驱动,若无,忽略该步骤
sudo touch /etc/modprobe.d/blacklist-nouveau.conf sudo chmod a+w /etc/modprobe.d/blacklist-nouveau.conf
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
#添加几行:
blacklist nouveau
options nouveau modeset=0
sudo update-initramfs -u
reboot#重启
Step 2:安装显卡驱动(以apt-get install形式安装,驱动的安装可能需要多试几次了,其他安装方式请查看官网或谷歌百度)
Ctrl+Alt+F1#进入文本模式(已经是文本模式忽略)
sudo service lightdm stop#关闭图形化环境
sudo apt-get update
sudo apt-get install nvidia-375
sudo nvidia-smi#安装完验证,若列出了GPU的信息列表则表示驱动安装成功
sudo service lightdm start#会自动切换到图像界面
Step 3:安装CUDA8.0(以run文件为例)
sudo bash cuda_8.0.61_375.26_linux.run
#安装过程中,不安装驱动,因为已经安装过了,其他的默认或选择就好,在网上看到说安装cuda之前,需要安装一些依赖,我有安装过,但不知道有没有用,安装cuda最好看看官网的安装指南CUDA Toolkit Documentation,一步一步来,比较保险
#依赖部分 sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
Step 4:环境变量设置
sudo vim ~/.bashrc#打开用户环境变量文件
#将以下两行加入到文件末尾
export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
source .bashrc#让环境变量生效
Step 5:测试CUDA的sammples
cd /usr/local/cuda-8.0/samples#也可以是/home/usrname/NVIDIA_CUDA-8.0_Samples
make
cd bin/x86_64/linux/release/
./deviceQuery#最后能看到Result = PASS就算成功
./bandwidthTest#同上,能看到Result = PASS就算成功
Step 6:配置cuDNN5.1
#下载(需要注册)cuDNN5.1之后进行解压,解压后的文件夹为cuda
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/ sudo cp cuda/lib64/lib* /usr/local/cuda/lib64/ cd /usr/local/cuda/lib64/ sudo rm -rf libcudnn.so libcudnn.so.5 sudo ln -s libcudnn.so.5.1.10 libcudnn.so.5 sudo ln -s libcudnn.so.5 libcudnn.so
第二部分:配置安装caffe
Step 1:安装caffe,pycaffe依赖
sudo apt-get upgrade
sudo apt-get install -y build-essential cmake git pkg-config
sudo apt-get install python-protobuf
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev liblmdb-dev
#install ATLAS by sudo apt-get install libatlas-base-dev or install OpenBLAS by sudo apt-get install libopenblas-dev or MKL for better CPU performance
sudo apt-get install libatlas-base-dev
#Python
sudo apt-get install python-dev
sudo apt-get install -y python-pip
sudo apt-get install python-numpy
sudo apt-get install python-matplotlib
sudo pip install scikit-image
Step 2:配置Makefile.config
sudo cp Makefile.config.example Makefile.config
sudo vim Makefile.config
#根据个人情况修改文件:
USE_CUDNN := 1#若使用cudnn
USE_OPENCV := 1
USE_LEVELDB := 1
USE_LMDB := 1
CUDA_DIR := /usr/local/cuda
PYTHON_INCLUDE := /usr/include/python2.7 /usr/lib/python2.7/dist-packages/numpy/core/include
PYTHON_LIB := /usr/lib
WITH_PYTHON_LAYER := 1#若要使用Python来编写layer
#以下两行比较重要,否则会报错
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/lib/hdf5/serial /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu/hdf5/serial
Step 3:编译caffe
make all
make test
make runtest
make pycaffe#不用python接口可以去掉
make distribute#可不用,把所有执行的相关文件放在一个目录下
#如果没有什么问题的话,就应该算成功了
Step 4:验证caffe
#用mnist网络验证
cd /xx/xx/caffe-master#回到Caffe根目录
./data/mnist/get_mnist.sh#下载MNIST数据库并解压缩
./examples/mnist/create_mnist.sh#将其转换成Lmdb数据库格式
./examples/mnist/train_lenet.sh#训练网络,没有问题应该能看到损失与精度数值,至此,恭喜你大功告成!
第三部分:重启循环进入登录界面,重启黑屏解决办法
question 1:重启之后重复进入登录界面解决办法(如果cuda deb安装驱动,没有/proc/driver/nvidia,执行nvidia-xconfig也能解决)
利用启动菜单"高级模式"->"RecoveryMode"->”Resume”,等系统到登陆界面,按下”Ctrl+Alt+F1”,输入用户名密码登陆后,进行以下操作(可能要执行几次):
sudo nvidia-xconfig
#当成功建立/etc/X11/xorg.conf并备份,则说明成功
question 2:重启之后黑屏(安装nvidia驱动容易出现这个问题),解决办法
sudo vim /etc/default/grub
#将”quiet splash”改为”quiet splash nomodeset”
sudo update-grub
reboot
第四部分:参考的教程,在这里表示衷心的感谢
http://blog.csdn.net/xuzhongxiong/article/details/52717285
http://blog.csdn.net/Liekkas_Javey/article/details/53391481
http://blog.csdn.net/u012235003/article/details/54575758
Caffe安装笔记:Ubuntu 16.04 LTS + CUDNN V5
CUDA Toolkit Documentation

原创粉丝点击