版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
目录
一. 电脑硬件说明
- Ubuntu 16.06
- GeForce GTX 960M
- 驱动:384.130
- CUDA:9.0
- cuDNN:7.1.2
二. 安装NVIDIA GPU的驱动
1. 选择GPU驱动下载
首先查询自己电脑显卡的型号:
lspci | grep -i nvidia
在NVIDIA[https://www.nvidia.com/Download/index.aspx?lang=en-us]选择合适的Driver的下载,按照笔者的型号选择如下:
点击search后下载。
2. 安装GPU驱动
(1). 屏蔽nouveau驱动
在/etc/modprobe.d/下新建一个文件blacklist-nouveau.conf,即:
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
写入:
blacklist nouveau
options nouveau modeset=0
更新
sudo update-initramfs -u
测试:
lsmod | grep nouveau
如果没有任何输出则表明禁用成功
(2). 安装GPU驱动
输入命令:
sudo service lightdm stop
进入驱动所在的文件夹:
sudo chmod +x ./NVIDIA-Linux-x86_64-384.130.run
修改权限。然后:
sudo ./NVIDIA-Linux-x86_64-384.111.run
安装完成后重启电脑:
reboot
重启后输入:
nvidia-smi
如果有打印GPU的相关信息则表示安装成功:
3. 安装CUDA
(1) 下载CUDA
在官网上选择合适的CUDA并下载runfile文件:
注意下载Base下面的四个补丁:
下载的时候注意版本的对应:
笔者下载目录为:
(2)安装CUDA
输入:
sudo ./cuda_9.0.176_384.81_linux.run
注意:执行后除了让你选择是否安装nvidia384驱动时,一定要选择否:Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.**?其他的选择确认或者接受即可。
接下来安装补丁,补丁安装非常简单,一直确定接受即可。
sudo ./cuda_9.0.176.1_linux.run
sudo ./cuda_9.0.176.2_linux.run
sudo ./cuda_9.0.176.3_linux.run
sudo ./cuda_9.0.176.4_linux.run
(3)环境变量配置
在主目录终端中输入
vim ~/.bashar
在最后补充上:
export CUDA_HOME=/usr/local/cuda
export PATH=$PATH:$CUDA_HOME/bin
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
然后【Esc】+【:wq】保存退出。
刷新:
source ~/.bashrc
输入:
nvcc -V
打印:
(4)测试
找到测试cuda的demo
笔者的在主目录下:
cd NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery
sudo make
sudo ./deviceQuery
如果打印GPU的信息,则安装成功!!!!
4. 安装cuDNN
(1)下载
在官网网页下载,需要先注册,同样得注意上面表中的版本适配问题。
(2)解压并拷贝
sudo tar -zxvf ./cudnn-9.0-linux-x64-v7.tgz
sudo cp cuDNN/cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuDNN/cuda/lib64/* /usr/local/cuda/lib64/
三. 安装Anaconda
在官方网址下载:
切换到下载目录下:
bash Anaconda3-5.0.0-Linux-x86_64.sh
之后一直按Enter,出现输入提示的时候,都输入yes即可。
在终端输入:
conda -V
如果有打印:
则安装成功!!!
四. 安装Tensorflow-GPU
- Anaconda创建环境:
conda create -n tensorflow python=3.6
- 激活环境:
source activate tensorflow
- 安装Tensorflow-GPU(注意版本):
conda install tensorflow-gpu=1.10
如下测试:
五. 测试是否调用GPU的两个demo
【demo_1】
import tensorflow as tf
with tf.device('/cpu:0'):
a = tf.constant([1.0, 2.0, 3.0], shape=[3], name='a')
b = tf.constant([1.0, 2.0, 3.0], shape=[3], name='b')
with tf.device('/gpu:0'):
c = a + b
sess = tf.Session(config=tf.ConfigProto(allow_soft_placement = True, log_device_placement = True))
sess.run(tf.global_variables_initializer())
print(sess.run(c))
如果调用,打印如下:
【demo_2】
import tensorflow as tf
import numpy as np
import time
value = np.random.randn(5000, 1000)
a = tf.constant(value)
b = a * a
c =0
tic = time.time()
with tf.Session() as sess:
for i in range(1000):
sess.run(b)
c+=1
if c%100 == 0:
d = c / 10
# print(d)
print("计算进行%s%%" % d)
toc = time.time()
t_cost = toc - tic
print("测试所用时间%s"%t_cost)
print("Ubuntu上GPU为1050ti测试时间为7.99727988243103")
如果调用,打印如下:
祝贺!!!可以安心工作了!!!