这是我第一个人工智能实验。虽然原理不是很懂,但是觉得深度学习真的很有趣。教程如下。
Table of Contents
Debian 下安装(cudnn7.2.1 for cuda 9.0)
tgz安装cudnn 7.0.4 for cuda 9.0 (官网和谐版本)
bug 2:Can't create temporary cache file /etc/ld.so.cache~: Permission denied
bug3:libcudnn.so.7 is not a symbolic link
bug4:CUDA driver version is insufficient for CUDA runtime version
运行支持 GPU 的 TensorFlow 所需满足的 NVIDIA 要求
Neural-style实战:利用TensorFlow实现图像风格转换
bug 6:could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
配置
- Ubuntu 16.04
- GTX 1060 NVIDIA UNIX x86_64 Kernel Module 390.77
- cuda 9.0
- cudnn 7.04
- tensorflow gpu 1.5.0
时间轴
8.12
- 安装ubuntu 16.04 双系统。EFI引导的。
8.13
- 更新ubuntu 最新软件库。
- 安装中文输入法。
- 安装python + cuda 8 。
8.14
- 发现双系统有个bug。在win下的声音输出设备无法启动,搜索发现是在ubuntu下了。只要将ubuntu下的声音关闭然后在shutdown,启动win就可以了。(玄学)
8.15
- 重装了win和ubuntu 16.04 。(前面白做了)
- ubuntu 下安装了matlab R2017b。
- ubuntu 下安装了Anaconda3-5.2.0-Linux-x86_64.sh 。
- 发现cuda8跟NVIDIA驱动不兼容。nvidia-smi 和 cat /proc/driver/nvidia/version 没有结果。NVIDIA驱动信息无法显示。
8.16
- 配置了显卡驱动。(NVIDIA UNIX x86_64 Kernel Module 390.77)登录死循环的解决就是不要用小键盘就ok了。
- 安装好了cuda 9.0。(tensorflow以后的版本都只支持cuda 9.0了,所以安装的9.0)
- 安装好了最新版本的cudnn 7.2.0.1 for cuda 9.0。
- 安装了tensorflow-gpu-1.5.0。
8.17
- 做了neural-style实验。发现它不兼容当前cudnn的版本,只支持7004以下的cudnn,所以涉及到给cudnn降级的问题(就是重装一个低级的),cudnn官网的这个7.0.4-for-cuda9.0版本挂掉了。
- 下载了cudnn-9.0-linux-x64-v7.tgz (好人一生平安)
8.18
- 用tgz方式安装了cudnn 7.0.4 for cuda 9.0。
- neural-style实验。解决了一些bug后实验成功。
前期准备工作
anaconda3
下载地址
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
https://blog.youkuaiyun.com/weili_/article/details/80962947
安装
bash Anaconda3-5.2.0-Linux-x86_64.sh
bug 1:conda:未找到命令,终端输入
export PATH=~/anaconda3/bin:$PATH
或者
sudo vim ~/.bashrc
末尾加入
export PATH=~/anaconda3/bin:$PATH
激活
source ~/.bashrc
Nvidia DRIVER390.77
卸载原驱动
apt-get --purge remove nvidia-*
查找相应.run 文件:去官网下载 NVIDIA-Linux-x86_64-390.77.run
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/390.77/NVIDIA-Linux-x86_64-390.77.run
禁用 nouveau
修改属性
sudo chmod 666 /etc/modprobe.d/blacklist.conf
用vim编辑器打开
sudo vim /etc/modprobe.d/blacklist.conf
在该文件末尾添加以下几行
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
执行下列命令
sudo update-initramfs -u
# 如果出现 W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.
# 删掉/etc/mdadm/mdadm.conf ,重新执行一遍命令即可
重启后查看
reboot
lsmod | grep nouveau # 没有输出即为屏蔽好了
安装显卡驱动前准备工作
sudo apt-get install -y gcc g++ make
确认禁用了nouveau
lsmod | grep nouveau # 若无输出,则表示禁用成功
安装显卡驱动
sudo chmod a+x NVIDIA-Linux-x86_64-390.77.run
sudo ./NVIDIA-Linux-x86_64-390.77.run -no-x-check -no-nouveau-check -no-opengl-files
# -no-opengl-files 表示只安装驱动文件,不安装OpenGL文件,这个参数最重要
# -no-x-check 安装驱动时不检查X服务
# -no-nouveau-check 安装驱动时不检查nouveau(ps:这个选项和1.3禁止集成的nouveau驱动组成双保险,其实一项操作就可以了)
查看GPU版本
nvidia-smi # 查看GPU和驱动程序信息
cat /proc/driver/nvidia/version # 查看驱动程序版本
安装后,没启动程序,GPU使用率高,执行下列命令
nvidia-smi -pm 1 # 这个是设定持久模式,(没人用GPU的时候,驱动不自动卸载,而是一直都处于加载状态)
# 本次有效下次重启还需要重新设定。
# 默认状态是驱动每次用完都自动卸载的,然后重新加载。
Ref:
Linux下CUDA+CUDNN+TensorFlow安装笔记
史上最全的ubuntu16.04安装nvidia驱动+cuda9.0+cuDnn7.0
Ubuntu16.04安装CUDA+cuDNN+GPU版TensorFlow过程记录
ubuntu16.04+CUDA8.0+GTX1080Ti+yolov3+Opencv3.1.0详细配置
Ubuntu16.04+cuda-8.0+cudnn-v5.1+tensorflow0.8-gpu/tensorflow1.0-gpu安装教程