安装tensorflow(GPU)较tensorflow(CPu)复杂,其中还要额外下载cuda与cuddn。网上类似的教程很多,然而随着更新迭代,很多教程都出现了很多问题,踩了许多坑,给大家分享下。
tensorflow(GPU)官方要求的cuda是8.0,cuddn是v6, 现在Nvidia官网上直接下载的话默认是9.2,所以下载cuda时要尤其注意,别下载错了版本。另外tensorflow的版本问题,也踩了不少坑,下面会着重介绍。
anaconda是管理python软件包,和python版本切换。许多python库都可以在里面下载,非常方便。
可以直接在官网上下载 https://www.anaconda.com/download/
直接下载python 3.6 version ,之后跟着安装导引走即可。
安装完,可以看到有anaconda prompt,打开来进行指令操作。
因为现在这个版本的anaconda默认是python3.6 所以要创建python3.5的环境,通过如下指令进行配置
1. 创建一个名为python3.5的环境,命名为python35
打开cmd,在其中输入如下指令
conda create --name python35 python=3.5
2.激活:tensorflow的python3.5 环境
activate python35
用完tensorflow之后可以通过如下指令退出该环境
deactivate
网上很多教程给的命令是
pip install tensorflow-gpu
这条指令下载下来的tensorflow是当前最新的版本,其配置要求和tensorflow1.4完全不同,故之后会出现很多错误,所以切记不要执行这条指令,执行了的可以通过如下指令进行移除
pip uninstall tensorflow-gpu
安装tensorflow1.4可以执行如下指令
pip install --upgrade --ignore-installed tensorflow-gpu==1.4.0
直接百度搜索cuda8.0下载 https://developer.nvidia.com/cuda-80-ga2-download-archive
直接下载,默认C盘安装,之后都是默认安装即可。
也是从NVIDIA官网进行下载,要选择与cuda8.0 和windows匹配的版本
https://developer.nvidia.com/rdp/cudnn-archive
下载完解压缩后会有三个文件夹,
将其复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0中
在环境变量中加入如下路径
为了方便,大家可以直接复制
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
打开cmd,输入activate python35, 进入tensorflow环境
输入python ,进入python
并输入一下代码
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
至此,tensorflow就安装成功了!
1.cuddn版本出错
这是因为用了cuddn V7 ,需要重新下载cuddn V6.
2. tensorflow版本下载出错
Traceback (most recent call last):
File "D:\Anaconda\anaconda\envs\python35\lib\site-packages\tensorflow\python\platform\self_check.py", line 75, in preload_check
ctypes.WinDLL(build_info.cudart_dll_name)
File "D:\Anaconda\anaconda\envs\python35\lib\ctypes\__init__.py", line 351, in __init__
self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] 找不到指定的模块。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "
File "D:\Anaconda\anaconda\envs\python35\lib\site-packages\tensorflow\__init__.py", line 22, in
from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import
File "D:\Anaconda\anaconda\envs\python35\lib\site-packages\tensorflow\python\__init__.py", line 49, in
from tensorflow.python import pywrap_tensorflow
File "D:\Anaconda\anaconda\envs\python35\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 30, in
self_check.preload_check()
File "D:\Anaconda\anaconda\envs\python35\lib\site-packages\tensorflow\python\platform\self_check.py", line 82, in preload_check
% (build_info.cudart_dll_name, build_info.cuda_version_number))
ImportError: Could not find 'cudart64_90.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 9.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive
出现如上错误的就是下载了最新版本的tensorflow,其要求是cuda9.0,所以报错了,解决方案如下
pip uninstall tensorflow-gpu
pip install --upgrade --ignore-installed tensorflow==1.4.0
先把旧版的tensorflow卸载,在进行tensorflow1.4版本的下载。