重装Ubuntu 恢复 Cuda + cudnn + GPU driver + tensorflow 环境走过的坑

接上

最近要重现YOLOv3 实时在线物体检测算法,代码要求Python3.6及以上由于Ubuntu 自带的Python版本是3.5.2于是索性直接给卸掉了, 由于是Ubuntu自带的版本, 可能系统需要用到里面的组件,再次重启系统的时候产生登陆循环login loop 问题。 

关于login loop 问题,看上一个帖子,在本机上已经解决

解决login loop 问题只是开始, 由于要恢复cuda + cudnn + tensorflow 的GPU计算环境 所以要重新考虑版本以及兼容性的问题

首先安装python3.6版本, 以及如何设置为默认选项

参考这篇帖子: https://www.cnblogs.com/yjlch1016/p/8641910.html

pip3 安装 升级 卸载 

参考: https://blog.csdn.net/tiweeny/article/details/78384633

扫描二维码关注公众号,回复: 3454098 查看本文章

完了首先搭建好cuda + cudnn + 显卡驱动的环境 然后再安装tensorflow (个人认为应按按照这个顺序)

首先查看本机上的Nvidia 显卡型号 :
sudo dpkg --list | grep nvidia-*

由于安装cuda需要用到驱动程序中的代码块, 驱动安装被内置为cuda安装的一部分,这样就不会有cuda和驱动的兼容性问题, 自己安装的驱动版本和cuda的版本不一定能兼容,建议首先卸掉自己本机上的驱动然后再安装的cuda 

卸载驱动程序命令: 

sudo apt-get remove --purge nvidia-*

sudo apt-get autoremove 

sudo apt-get install -f  

sudo reboot 

注意: 只有第一个命令 是卸载驱动,如果同时使用了第二个第三个命令,会将已经安装的CUDA全部卸载,卸载完驱动程序之后需要重启电脑使之生效,注销也行

现在安装cuda 

https://developer.nvidia.com/cuda-toolkit-archive

进入Nvidia cuda-toolkit-archive 网站

挑选自己心仪的版本,最近刚出的CUDA-10.0 最新版本, 不推荐使用,因为版本刚发布,太新,很多其他的软件包更新跟不上导致兼容性问题。 

在挑选完自己心仪的版本之后

根据提示首先下载,然后后面依次 有4个命令,前三个都没有问题在terminal 输入

注意第四个命令:sudo apt-get install cuda 

如果直接输入这个命令无论选哪个版本的cuda 最后都会安装最新的 cuda-10.0 版本

应该用: sudo apt-get install cuda-9-0    指定所要安装的版本 

等待系统自动安装大概需要15分钟左右, Ubuntu 会在/usr/local 目录下新建两个文件夹

一个cuda  一个 cuda-9.0  安装完毕

然后将cuda路径添加到环境变量中

首先cd 回到主目录

gedit ~/.bashrc       # 编辑 .bashrc 文件在后面添加两行

$ export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} 
$ export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

source ~/.bashrc    #  source 命令 使之生效 

然后测试 cuda 安装成功与否, 运行cuda 自带的sample 成功的话会看到GPU 运算的烟花

$ cd /usr/local/cuda-8.0/samples/5_Simulations/nbody
$ sudo make
$ ./nbody

接下来安装cudnn, 网上下载适合自己的兼容的版本 这里我用的是cudnn-9.0 版本

$ tar -xzvf cudnn-8.0-linux-x64-v5.1.tgz
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

解压,然后将相关文件添加到cuda文件夹中 ,至此tensorflow 所需要的文件环境就搭建起来了

中间的若干兼容性问题需要根据自己所有的版本型号进行搭配

现在安装tensorflow 前面已经安装python3.6 和 pip3  

使用pip3 包管理器直接安装tensorflow-gpu 

pip3 install tensorflow-gpu  

直接使用这个命令 出现permission denied 的问题

pip3 install tensorflow-gpu --user 

解决

打开python  import tensorflow 测试安装是否正确,已经GPU能不能使用

Python 进入python3.6 的界面 

import tensorflow 然后提示 导入错误

ImportError: libcudnn.so.7: cannot open shared object file: No such file or directory

libcudnn.so.7是cudnn的文件, tensorflow-gpu 安装成功 但是 与 cudnn 发生连接错误, 这里需要重新建立连接

2.CUDNN连接建立

 cd /usr/local/cuda/lib64

sudo rm -rf libcudnn.so libcudnn.so.7  #删除原有版本号,版本号在cudnn/lib64中查询

sudo ln -s libcudnn.so.7.0.5 libcudnn.so.7 #生成软连接,注意自己下载的版本号

sudo ln -s libcudnn.so.7 libcudnn.so 

sudo ldconfig #立即生效

测试 import tensorflow as tf 导入成功   

接下来安装Pycharm 跑个CNN 

先在PyCharm官网下载安装包 链接 : https://www.jetbrains.com/pycharm/download/#section=linux

下载 ubuntu版本

然后解压到当前文件夹

cd Downloads/pycharm-2017.1.4/bin

sh ./pycharm.sh

然后跳出来安装界面,然后根据自己喜好配置 

最后会出现这张图,Create New Project  创建一个新项目

添加Python刚刚安装好的python3.6解释器 正常的话  就可以用GPU跑CNN了   

猜你喜欢

转载自blog.csdn.net/zbbmm/article/details/82951298