python 3.7版本目前和tensorflow兼容性不是很好,推荐使用:python 3.6
本人是之前装的anconda3装的python3.7,为了配置tensorflow又创建了py36环境安装python3.6
安装NVIDIA
用最简单的方法安装成功的:
最开始用指令安装失败了,重启进入不了图形界面,进入ubuntu之后黑屏有光标在闪
解决办法:ssh远程进入我的主机IP,卸载英伟达驱动,用ubuntu的software&update安装
software&update安装:打开software&update->Additional Driver->(这里可能需要禁用nouveau,但是我没 弄也装上了)——>选了一个号最大的415.27apply一下——>重启——>终端输入:nvidia-smi检查是否安装成功
安装cuda
安装之前查好对应版本,CUDA及其驱动兼容情况具体可参见:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
去官网https://developer.nvidia.com/cuda-92-download-archive?target_os=Linux&target_arch=x86_64下载自己想要的版本的文件
根据官网的提示进行安装,下图是我的版本信息:
执行完以上四条语句:
sudo dpkg -i cuda-repo-ubuntu1604-9-2-local_9.2.148-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
之后,参考链接https://blog.csdn.net/EliminatedAcmer/article/details/80528980
进行环境变量配置
配置环境变量,运行如下命令打开个人资料文件
sudo gedit /etc/profile
打开文件后在文件末尾添加路径,也就是安装目录,命令如下:
export PATH=/usr/local/cuda-9.2/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64$LD_LIBRARY_PATH
保存,然后重启电脑,进入终端
cd /usr/local/cuda-9.2/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果result = PASS,则安装成功,否则失败,可能原因是环境未配置好,或者是cuda与驱动版本不兼容。
如果需要卸载重装,运行下列命令卸载 cuda
$ cd /usr/local/cuda/bin
$ sudo ./uninstall_cuda_9.2.pl
安装cudnn7.3.1
参考博客:https://blog.csdn.net/wgllovemother/article/details/82997320
官网https://developer.nvidia.com/rdp/cudnn-archive
下载三个包
注意:这三个文件都要下载。
使用如下命令安装:
$ cd ~/Downloads/
$ ls
$ 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
$ sudo dpkg -i libcudnn7-doc_7.3.1.20-1+cuda9.0_amd64.deb
安装完成
在我们验证cuDNN之前,我们必须首先安装freeimage lilbray作为ministCUDNN示例代码的依赖关系。否则,会有提示要求我们正确设置Freeimage
$ sudo apt-get install libfreeimage3 libfreeimage-dev
使用如下命令验证;
$ cp -r /usr/src/cudnn_samples_v7/ $HOME
$ cd $HOME/cudnn_samples_v7/mnistCUDNN
$ make clean && make
$ ./mnistCUDNN
如果输出如下信息就表示安装cuDNN成功,并且还可以看到你机器上有几个支持cuda的设备。
tensorflow-gpu 1.12安装
通过anaconda安装:
conda install tensorflow-gpu=1.12.0
检测是否安装成功
参考:https://blog.csdn.net/qq_36909753/article/details/87886263
"""
测试GPU的计算能力,测试tensorflow-GPU版是否安装正确
"""
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")
运行效果
2019-02-22 21:55:18.595152: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
2019-02-22 21:55:18.673060: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:964] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-02-22 21:55:18.673437: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1411] Found device 0 with properties:
name: GeForce GTX 1050 Ti major: 6 minor: 1 memoryClockRate(GHz): 1.62
pciBusID: 0000:01:00.0
totalMemory: 3.95GiB freeMemory: 3.53GiB
2019-02-22 21:55:18.673448: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1490] Adding visible gpu devices: 0
2019-02-22 21:55:18.881182: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-02-22 21:55:18.881208: I tensorflow/core/common_runtime/gpu/gpu_device.cc:977] 0
2019-02-22 21:55:18.881213: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990] 0: N
2019-02-22 21:55:18.881315: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1103] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 3247 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1)
计算进行10.0%
计算进行20.0%
计算进行30.0%
计算进行40.0%
计算进行50.0%
计算进行60.0%
计算进行70.0%
计算进行80.0%
计算进行90.0%
计算进行100.0%
测试所用时间8.04111933708191
Ubuntu上GPU为1050ti测试时间为7.99727988243103
Process finished with exit code 0
完。