以下记录为我在电脑上安装的过程(2018.4.28):
版本信息:
win10
python3.6.5
tensorflow-gpu1.8.0
CUDA9.0
cuDNN7.1
说明:
1.为啥要安装这几个?
tensorflow是微软家出的一个用来做深度学习的开源库,这个库有两个版本
一种是在CPU上运行,安装方法为:pip install tensorflow
一种是在GPU上运行,安装方法为pip install
注意,gpu版本的库安了后想要运行必须要按CUDA和cuDNN缺一不可:-)
2.cuDNN也就几十mb而已,但CUDA可是上了gb,那么为什么还要安gpu版本的呢?
......_(:з」∠)_答案是因为跑得快
根据Tensorlayor(一个针对tensorflow库做封装的开源项目)官网上的原话:
在 GPU 上训练全连接神经网络比在 CPU 上训练往往要快 10~20 倍。对于卷积神经网络,往往会快 50 倍。这需要有一个 NIVIDA 的 GPU,以及安装 CUDA 和 cuDNN。
3.那么什么是CUDA和cuDNN呢?
这是英伟达家出的两个软件,用来使GPU具备做深度学习计算的能力
安装:
首先,python3的安装直接去官网找个安装包安装就行了,但注意,就目前来说python3.6以上的版本以及所有的32位版本 还不支持tensorflow库,所以安装的时候请选择python3.6以及以下的64位版本进行安装
然后,受网上教程的指导,我直接去英伟达家下了个最新版的CUDA,结果安好tensorflow-gpu后才发现,最新的tensorflow-gpu1.8.0需要CUDA9.0,所以我建议大家先用pip install tensorflow-gpu安装好后,运行以下程序看看报什么错误,再安装所需的CUDA。由于我已经安装好了,我就贴下第一次运行之后应该报的正确信息:
E:\extrasoftware\Python3.6\python.exe C:/Users/tangc/Desktop/tensor/tensor_cuda_test.py
E:\extrasoftware\Python3.6\lib\site-packages\h5py\__init__.py:36: 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
2018-04-28 16:35:54.797458: I T:\src\github\tensorflow\tensorflow\core\platform\cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
2018-04-28 16:35:55.867494: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1356] Found device 0 with properties:
name: GeForce GTX 960M major: 5 minor: 0 memoryClockRate(GHz): 1.176
pciBusID: 0000:01:00.0
totalMemory: 4.00GiB freeMemory: 3.35GiB
2018-04-28 16:35:55.867948: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1435] Adding visible gpu devices: 0
2018-04-28 16:38:16.395720: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-04-28 16:38:16.395909: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:929] 0
2018-04-28 16:38:16.396099: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:942] 0: N
2018-04-28 16:38:16.396584: I T:\src\github\tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 3083 MB memory) -> physical GPU (device: 0, name: GeForce GTX 960M, pci bus id: 0000:01:00.0, compute capability: 5.0)
b'hhh'
相应的python脚本为:
import tensorflow as tf
import numpy as np
hello=tf.constant('hhh')
sess=tf.Session()
print (sess.run(hello))
如果没有安装好CUDA和cuDNN,python编辑器会告诉你应该去下载哪个版本的软件。
然后是CUDA和cuDNN的安装
具体安装步骤篇幅太长了就不写了,网上教程很多,都没有什么大错误,
注意:
1.安装完之后需要在环境变量中添加对应的目录,不然python找不到相应文件和程序
2.CUDA成功安装后可以在命令行(cmd)中用nvcc -V查看对应信息
2.cuDNN下载前需要先注册
接着,就可以愉快地用GPU进行深度学习了~