ubuntu+cuda+cudnn+tensorflow(caffe)

ubuntu16.04.4-desktop-amd64 + python3.6.4+cuda9.0+cudnn-9.0-linux-x64-v7.1

另一个环境:ubuntu16.04.4+anaconda2(py2.7)+cuda8.0+cudnn(for cuda8.0&linux+caffe)

整个过程的顺序应该是ubuntu——>python——>显卡驱动——>cuda——>cudnn——>tensorflow(caffe)之类的框架

1、首先是ubuntu16.04.4的安装

如果在还没安装之前,启动盘插入之后启动发现显示屏出现了了“频率超出范围的错误”。可以参看教程:                                                            http://shamangary.logdown.com/posts/773013-install-torch7-cuda-cudnn-nvidia-driver

这个是一个显卡驱动的问题,可以在安装好后进行NVIDIA显卡驱动的安装。

ubuntu我用的是16.04.4,更高版本的的估计也可以,但是就需要上面其他几个的版本适配了。ubuntu可以直接制作镜像,有软件Ultraiso可以专门来制作刻录的,比较简单,网上都有教程的。在关机启动选择U盘启动就可以了。一路yes。然后到安装类型的时候(图片来自网络),选择其他选项网上有教程说选上面的会出问题,自己没试过,就不知道。

在这里有一个坑,就是现在我的电脑磁盘是GUID分区表。没有逻辑分区,只有主分区,那么一个磁盘最多只能有四个主分区,因此,嗯,要合理分配一下,然后看把ubuntu放在多大的一个地方。一般60G,有100G的,我的就200G。。。心想着以后可能用得多吧。

网上对于分区的建议一般是:/, /boot, 交换空间(swap),/home,都是ext4日志文件,至于大小,根据自己需求吧和参考教程。

分区:

  • /  20~30G
  • /boot 300M
  • /tmp 5G
  • swap(交换空间) 1024M
  • /Home 余下的空间

之后接下来的步骤就是一些简单的设置了,将启动引导器设置为/boot下

在这里首先应该安装ubuntu的显卡驱动,我的是nvidia GTX 1060,可以直接在网上找到,下面有教程,选择的版本是387。。。的版本,选择太高的话可能会因为驱动的编译器和自带gcc编译器的不一致而无法安装成功,因为升级gcc比较麻烦,所以就选择了比较低的版本的驱动。

2、cuda

参考前三步:https://blog.youkuaiyun.com/li_haiyu/article/details/78950915

主要就是安装cuda了

cuda是用的是9.0版本,因为tensorflow的版本是1.9的。caffe的话可以用cuda8.0的。

ubuntu安装好了一般默认是非root用户,一般无法操作的指令在指令前面加个sudo就好了。

2.1、首先检查自己的GPU是否是CUDA-capable

在终端输入:

lspci | grep -i nvidia

这样会显示自己的NVIDIA GPU版本信息

2.2、检查系统是否有gcc,一般是有的吧:

gcc --version

2.3、

在这之前可以先装一下显卡驱动。

  • 禁用nouveau,这个很重要,不然不会成功的,这个是禁用自带的一个显卡驱动

 

#禁用的方式:
sudo gedit /etc/modprobe.d/blacklist.conf
#用gedit进入编辑文件,在最后加入blacklist nouveau,保存退出
  • 打开终端,运行sudo update-initramfs -u,才可以生效
  • 然后重启。
  • 可以检查一下,如果没有输出则表示禁用成功:
lsmod | grep nouveau
  • 安装显卡驱动

找对应版本的驱动(不宜选最高的,我的因为选择最新版本的,导致了自身ubuntu gcc版本低于驱动的编译器,因而无法安装,我的gcc版本的5.3,所以这里会有一个显卡驱动gcc版本和自己gcc版本不适配的问题。可以选择更新下自己的gcc):https://www.nvidia.cn/Download/index.aspx?lang=cn

接下来是安装驱动啦:https://blog.youkuaiyun.com/u012442845/article/details/78855573

安装好后可以继续上面的sample测试,最后出来结果result=PASS就是OK了的吧。

 

2.4、安装cuda(在这之前先把显卡驱动安装好)

首先下载cuda的runfile文件。不用deb的。

切换到cuda文件的目录下,运行安装文件:

sudo sh cuda_****_linux.run

接下来是阅读各种条款啥的,一直看到最底下之后,使用

(1)accept

(2)install nvidia accelerated Graphics Driver(N)这个地方选择yes可能会失败,我就是因为这个磨了很久。。。(这里要选择no!!!)

(3)其他的都是yes就好了。

最后出现的结果可能是:

Driver:No selected
Toolkit:Installed in /usr/local/cuda...
Samples:Install in /home/coder

配置环境变量:

安装完成后需要将CUDA的路径加入环境量,首先打开~/.bashrc文件,添加一下代码:

export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH

中间不要加多余的空格,如果安装的不是8.0版本,则修改路径中的版本号,保存,然后打开/etc/profile,文末加上以下代码:

export PATH=/usr/local/cuda/bin:$PATH

基本就成功了。

但是,总要测试一下是否真的成功了吧:

找到cuda下面的sample文件下面,有很多的样例,可以随便找一个make,然后运行,看能否得到正确到不报错到信息。

cd ~/NVIDIA_CUDA-8.0_Samples/1_Utilities/deviceQuery
make
./deviceQuery

测试的时候可能出现一个错误:

g++: No such file or directory

这是g++未安装,可以通过下面指令来安装:

sudo apt-get install g++
# 安装成功后继续测试cuda样例

3、cudnn

使用的是cudnn-9.0-linux-x64-v7.1.solitairetheme8,这个地方一定要先把这个文件先改名字或者复制一个文件将.solitairetheme8格式改成.tgz格式,然后解压才会成功。

然后这样就没啥大问题了吧,这个好像没啥大坑:

sudo cp include/cudnn.h /usr/local/cuda/include/
sudo cp lib64/* /usr/local/cuda/lib64/

更新软链接:

#下面的操作在/usr/local/cuda/lib64/目录下进行
sudo rm -rf libcudnn.so libcudnn.so.7.0#删除两个符号链接;
sudo ln -s libcudnn.so.7.0.64 libcudnn.so.7.0
sudo ln -s libcudnn.so.7.0 libcudnn.so

另一个不用更新软链接的方法(忽略下面标题):

样例地址:cudnn_samples_v7

至此完毕了吧。

后续:在python3.6下,可能会出现import PIL时一个错误:ImportError:from  PIL import module _imaging,这个错误是因为PIL只支持到2.7版本,后续到python版本我们可以使用Pillow,我们可以通过如下方式解决:

sudo apt-get install python-imaging或者sudo pip3 install -I --no-cache-dir -v Pillow

 

如果nvidia驱动出现问题,咱重装这个驱动吧:https://blog.youkuaiyun.com/u014797226/article/details/78794494,重装保平安,安装时候的几个选项,看清楚了再选择,有些时候是选no,在这里提醒一下自己。

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值