ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】
平台信息:
PC:ubuntu16.04、i5、七彩虹GTX1060显卡
作者:庄泽彬(欢迎转载,请注明作者)
说明:参考了网上的一堆的资料搭建了深度学习的开发环境,下班在宿舍折腾了好几个晚上才搞定,写篇文章记录一下。
一、安装Nvidia GTX1060显卡驱动
1.1 图1是本人使用的显卡,暂时没有那么多钱,买个便宜的玩玩,把显卡插入电脑主板,然后开启ubuntu系统,
图1
1.2 在终端输入lspci |grep VGA查看显卡型号,ubuntu系统自带了nouveau驱动,因此我们启动系统之后可以识别到显卡,但这毕竟不是GTX1060专用的显卡驱动,我们不能使用这个驱动要屏蔽这个显卡驱动,安装NVIDIA GTX1060显卡驱动,我们在看看图3现在系统使用的是CPU集成显卡,没有使用我们的独立显卡,我们要切换到我们的GTX1060显卡.
图2
图3
1.3 在终端输入sudo ubuntu-drivers devices查看自己的系统适合安装什么版本的显卡驱动,当然也可以下载最新的,这里自己选择,本人选择系统推荐的版本nvidia-384
图4
到这里链接下载对应型号的显卡驱动:https://www.geforce.cn/drivers,设置见图5,之后点击开始搜索,在搜索结果中选择自己下载的显卡驱动版本
搜索结果
图5
1.4
在正式安装之前执行先卸载原有的显卡驱动:
sudo apt-get remove --purge nvidia*
禁止nouveau:
sudo vim /etc/modprobe.d/blacklist.conf
在这个文件最后添加:
blacklist nouveau
之后执行sudo update-initramfs -u重启系统
在终端输入lsmod | grep no如何没有输出信息证明系统没有加载nouveau驱动,可以进行一下步的操作。
1.5 安装驱动:
添加可执行权限:
sudo chmod a+x NVIDIA-Linux-x86_64-384.130.run
关闭图形化环境:
进入控制台模式:ctrl+alt+f1,
sudo /etc/init.d/lightdm stop
正式安装:
sudo ./NVIDIA-Linux-x86_64-384.130.run -no-x-check -no-nouveau-check -no-opengl-files
执行完之后竟然跳出这个界面图6这个界面,后找了一下资料,其实出现这个界面是正常的,只是NVIDIA的人提醒你是否要进行安装,可以看看 /usr/lib/nvidia/pre-install这个文件的内容图7,其实没有做什么就退出,所以出现图6的界面不用担心,继续执行就好了啊。
图6
图7
在安装的过程会出现的选项:
Install NVIDIA's 32-bit compatibility libraries?本人选择yes
Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be used when you
restart X? Any pre-existing X configuration file will be backed up. 本人选择NO
等待安装完毕之后执行
sudo /etc/init.d/lightdm start 恢复图形界面
查看显卡驱动版本:从图8可以看出我们安装GTX1060显卡驱动已经搞定了,但是我们系统现在使用的还是图3所示的集成显卡,我们安装完cuda8.0之后就能切换过去,因此革命尚未成功仍需nvli
cat /proc/driver/nvidia/version
nvidia-smi
图8
如果需要升级版本卸载:sudo ./NVIDIA-Linux-x86_64-384.130.run --uninstall
二、安装cuda8.0
2.1下载cuda8.0的下载链接:https://developer.nvidia.com/cuda-80-ga2-download-archive,本人的下载设置见图9,之后点击下载,需要注意的是CUDA包括了CPU计算库和显卡驱动,因此在安装的时候不要重复安装显卡驱动,不然前面装了那么久GTX1060显卡驱动就白装了啊。
图9
2.2、安装cuda8.0
设置可执行权限
sudo chmod a+x cuda_8.0.61_375.26_linux.run
执行安装:
安装过程:
在刚开始安装的时候会出现一个声明,本人直接回车到100%看完声明,进行安装.
Do you accept the previously read EULA?
accept/decline/quit: accept
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: y
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]:
Do you want to install a symbolic link at /usr/local/cuda?
(y)es/(n)o/(q)uit: y
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /home/zhuang ]:
Installing the CUDA Toolkit in /usr/local/cuda-8.0 ...
Missing recommended library: libXmu.so
Installing the CUDA Samples in /home/zhuang ...
Copying samples to /home/zhuang/NVIDIA_CUDA-8.0_Samples now...
Finished copying samples.
设置cuda8.0到环境变量
sudo vim /etc/profile
添加如下内容:
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64$LD_LIBRARY_PATH
重启系统:sudo reboot
输入nvcc -V输出下面信息正常:
图10
测试:
cd /home/zhuang/NVIDIA_CUDA-8.0_Samples
make
cd 0_Simple/clock 执行简单的测试demo
如果需要升级卸载:
cd /usr/local/cuda/bin
sudo ./uninstall_cuda_8.0.pl
若安装的是deb文件使用这种方式卸载:
sudo apt-get autoremove --purge cuda
三、安装cudnn5.1
3.1 下载链接:https://developer.nvidia.com/rdp/cudnn-archive,下载cudnn5.1需要注册一个NIVDIA账号.下载设置见图10,会得到cudnn-8.0-linux-x64-v5.1.solitairetheme8这个文件.
图10
solitairetheme8这个格式的文件太奇怪了处理一下:
sudo cp cudnn-8.0-linux-x64-v5.1.solitairetheme8 cudnn-8.0-linux-x64-v5.1.tgz
解压:
sudo tar -zxvf ./cudnn-8.0-linux-x64-v5.1.tgz
复制头文件:
cd cuda/include
sudo cp cudnn.h /usr/local/cuda/include
复制库文件:
cd ../lib64/
sudo cp 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
sudo ldconfig
四、安装tensorflow
下载对应版本的tensorflow:https://pypi.org/project/tensorflow/#files
查看TensorFlow版本:sudo pip show tensorflow
安装和卸载命令:pip install tensorflow_gpu==1.1
sudo pip uninstall tensorflow-gpu
但是运行却包了这个错误:
有强迫症患者的看到这堆警告肯定很不爽,后面上网又找了一遍,我们还是用源码编译的方式安装TensorFlow吧。哎,路还很长,搭建深度学习的开发环境容易啊。
四、安装keras
sudo pip install -U --pre pip setuptools wheel
sudo pip install -U --pre numpy scipy matplotlib scikit-learn scikit-image
pip install keras
ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】的更多相关文章
- 深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow
深度学习主机环境配置: Ubuntu16.04 + GeForce GTX 1070 + CUDA8.0 + cuDNN5.1 + TensorFlow 最近在公司做深度学习相关的学习和实验,原来一直 ...
- Ubuntu16.04安裝最新Nvidia驱动
在安装完Ubuntu之后,可能通过自带驱动无法更新,一直处于无法下载状态,那么就需要通过到Nvidia官网下载驱动,手动安装了 方法/步骤 通过度娘,打开NVIDIA官网,然后在下载驱动那里找到自己的 ...
- 深度学习环境搭建(ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn+其他软件)
一.硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 二.软件环境 搜狗输入法 下载地址 显卡驱动:LINUX X64 (AMD ...
- ubuntu16.04+Titan Xp安装显卡驱动+Cuda9.0+cudnn
硬件环境 ubuntu 16.04LTS + windows10 双系统 NVIDIA TiTan XP 显卡(12G) 软件环境 搜狗输入法 显卡驱动:LINUX X64 (AMD64/EM64T) ...
- Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7+TensorFlow1.2.0环境搭建
软件版本说明:我选的Linux系统是Ubuntu16.04,CUDA用的8.0,Ubuntu16.04+CUDA8.0+cuDNN5.1+Python2.7只支持TensorFlow1.3.0以下的版 ...
- ubuntu16.04+cuda8.0+cudnn5.0+caffe
ubuntu安装过程(硬盘安装)http://www.cnblogs.com/zhbzz2007/p/5493395.html“但是千万不要用麒麟版!!!比原版体验要差很多!!!”开关机的时候电脑最上 ...
- Ubuntu16笔记本双显卡安装NVIDIA驱动
blockquote { direction: ltr; color: rgb(0, 0, 0) } blockquote.western { font-family: "Liberatio ...
- Ubuntu14.04 64位机上安装cuda8.0 cudnn5.0操作步骤 - 网络资源是无限的
查看Ubuntu14.04 64位上显卡信息,执行: lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi 第一条此命令可以显示一些显卡的相关信息:如果 ...
- Ubuntu14.04 64位机上安装cuda8.0+cudnn5.0操作步骤
查看Ubuntu14.04 64位上显卡信息,执行: lspci | grep -i vga lspci -v -s 01:00.0 nvidia-smi 第一条此命令可以显示一些显卡的相关信息:如果 ...
随机推荐
- maven setting详细解读
全局配置: ${M2_HOME}/conf/settings.xml 用户配置: ${user.home}/.m2/settings.xml note:用户配置优先于全局配置.${user.home} ...
- 微信小程序 --- 获取设备信息
获取设备信息: wx.getSystemInfo model:手机型号 pixelRatio:设备像素比 windowWidth:窗口宽度 windowHeight:窗口高度 language:语言 ...
- csrf_token之全局认证与局部认证
1.settings.py没有注释到csrf.当post请求的方式会报错. 接下来就解决问题! 1. django中间件 最多5个 - process_request 请求 - process_vie ...
- 微信开发(2):微信js sdk分享朋友圈,朋友,获取config接口注入权限验证(转)
进行微信开发已经一阵子了,从最初的什么也不懂,到微信授权登录,分享,更改底部菜单,素材管理,等. 今天记录一下微信jssdk 的分享给朋友的功能,获取config接口注入. 官方文档走一下简单说:四步 ...
- Java定时器和Quartz使用
一.Java普通自定义定时器 /** * 自定义一个定时器 * @author lw */ public class MyTimer extends Thread{ private Long time ...
- 【git】------git的基本命令------【巷子】
001.初始化仓库,创建git仓库 git init 002.配置个人信息 git config --global user.name <名字> --------->:配置用户名 g ...
- 170531、FormData 对象的使用
通过FormData对象可以组装一组用 XMLHttpRequest发送请求的键/值对.它可以更灵活方便的发送表单数据,因为可以独立于表单使用.如果你把表单的编码类型设置为multipart/form ...
- string unicode utf8 ascii in python and js
http://www.jb51.net/article/62155.htm http://www.cnblogs.com/dkblog/archive/2011/03/02/1980644.html ...
- ThreadLocal类,实例测试,FutureTask类,实例测试。
1:测试ThreadLocal类, 为每个线程域保存局部变量.例如下面的例子. ThreadLocal为每个线程保存了一个Test对象, 那么当执行线程时,每个线程中的test具有唯一性.某一个线 ...
- 两个栈实现队列&两个栈实现队列
为说明思想,假设队列.栈都很大,不会出现满的情况. 1. 两个栈实现队列 //前提已知: struct Stack { int top; //栈顶指针 int stacksize;//栈的大小 int ...