Ubuntu 18.04 Cuda9.0 cudnn7.3.1 tensorflow gpu 安装教程
我这里使用的是Win10和ubuntu的双系统。安装参考上一篇博文:
https://blog.csdn.net/zsf211/article/details/86586716
先说明以下本机的硬件环境
1、主板微星Z370;2、CPU i7-8700k;3、显卡gtx1080 8G
1、gcc降级
这里之所以将gcc降级是因为Ubuntu 18.04 的gcc版本为7.3,cuda9.0支持5.x和6.X,不支持7.3,因此需要将gcc降级。
输入以下命令:
(1). 下载gcc/g++ 6
sudo apt-get install gcc-6 g++-6
(2). 链接gcc/g++实现降级
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-6 gcc
sudo rm g++
sudo ln -s g++-6 g++
降级后的版本如图所是
2、Cuda9.0安装
1、下载安装包
cuda:https://developer.nvidia.com/cuda-90-download-archive
下载完成之后的文件
cudnn:https://developer.nvidia.com/rdp/cudnn-archive
2、执行命令安装
安装cuda
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda-9.0
nvidia-smi 来验证安装
不晓得为啥还是cuda 版本10,估计是安装了两个版本,使用选择了9.0。
安装补丁
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update-2_1.0-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local-cublas-performance-update-3_1.0-1_amd64.deb
3、Cudnn7.3.1安装
执行命令
sudo dpkg -i libcudnn7_7.3.1.20-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.3.1.20-1+cuda9.0_amd64.deb
下面的依赖与上面的
4、安装tensorflow
1、安装Anaconda3-5.2.0-Linux-x86_64.sh:https://repo.anaconda.com/archive/ 5.2.0对应python的3.6版本
5.3.x都是python3.7版本。
执行命令:
bash Anaconda3-5.2.0-Linux-x86_64.sh
2、安装tensorflow 使用pip命令安装即可。之所以有个网址是因为要使用国内的下载源。下载速度会很快。
pip3 install https://download.tensorflow.google.cn/mac/cpu/tensorflow-1.10.0-py3-none-any.whl --upgrade
3、测试tensorflow gpu
这里提示有个错误:但不影响数据源的训练,但还是要修改的,原因是因为h5py包错误引起的。
解决问题
FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.from ._conv import register_converters as _register_converters
对h5py进行更新升级
pip install h5py==2.8.0rc1
4、安装pycharm ,使用ubuntu软件直接安装的。我这里是正版哈。
5、pycharm 测试
import tensorflow as tf
import numpy as np
# 使用 NumPy 生成假数据(phony data), 总共 100 个点.
x_data = np.float32(np.random.rand(2, 100)) # 随机输入
y_data = np.dot([0.100, 0.200], x_data) + 0.300
# 构造一个线性模型
#
b = tf.Variable(tf.zeros([1]))
W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
y = tf.matmul(W, x_data) + b
# 最小化方差
loss = tf.reduce_mean(tf.square(y - y_data))
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)
# 初始化变量
init = tf.initialize_all_variables()
# 启动图 (graph)
sess = tf.Session()
sess.run(init)
# 拟合平面
for step in range(0, 201):
sess.run(train)
if step % 20 == 0:
print(step, sess.run(W), sess.run(b))
Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA要想不出现这里就不要使用pip来安装。