参考:https://blog.csdn.net/ctwy291314/article/details/80951148
https://blog.csdn.net/qq_33479881/article/details/83060626
配置:ubuntu18.04+GTX1070
一、禁用nouveau
1.Create a file at /etc/modprobe.d/blacklist-nouveau.conf with the following contents:
blacklist nouveau
options nouveau modeset=0
2.Regenerate the kernel initramfs:
$ sudo update-initramfs -u
3.重启计算机,如果鼠标变大,那么关闭成功了
二、安装英伟达驱动
1.首先检测显卡,并显示支持的驱动
$ ubuntu-drivers devices
2.然后安装显卡驱动
安装默认推荐的驱动:
$ sudo ubuntu-drivers autoinstall
或者安装自己指定的驱动nvidia-340:
$ sudo apt install nvidia-340
3.完了重启计算机,如果鼠标变小,那么成功了
三、下载安装CUDA9.0
从 https://developer.nvidia.com/cuda-90-download-archive
下载:
cuda_9.0.176_384.81_linux.run
cuda_9.0.176.1_linux.run
cuda_9.0.176.2_linux.run
cuda_9.0.176.3_linux.run
cuda_9.0.176.4_linux.run
安装:
sudo sh cuda_9.0.176_384.81_linux.run
注意:提示安装graphic accelerate driver(显卡驱动)时,选择no。安装完成后提示安装不完全,因为没有选择按驱动,不用管。
依次运行以下命令,继续安装:
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
sudo sh cuda_9.0.176.4_linux.run
四、下载安装cuDNN7.4
从https://developer.nvidia.com/rdp/cudnn-download
下载适合CUDA9.0的cuDNN for linux文件
先解压,后复制到CUDA安装文件夹里面
tar zxvf cudnn-9.0-linux-x64-v7.4.1.5.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功能完整性
到~/NVIDIA_CUDA-9.0_Samples/文件夹下
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
六、添加cuda的环境变量(否则tensorflow会说符号库找不到):
$ sudo gedit ~/.bashrc
将以下添加到文件末尾
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
保存退出!
七、安装tensorflow(python3)
pip3 install tensorflow-gpu
八、测试:
新建一个test.py文件,然后在命令行执行python3 test.py。
文件内容如下:
# -*- coding: utf-8 -*-
import tensorflow as tf
import os
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'
a = tf.constant([1.0,2.0],shape=[2],name='a')
b = tf.constant([2.0,3.0],shape=[2],name='b')
result = a+b
print(result)
print(a.graph is tf.get_default_graph)
sess = tf.Session()
print(sess.run(result))
print(result)
g = tf.Graph() with g.device('gpu:0'):
result = a+b print(sess.run(result))
网友评论