____tz_zs
您可以直接使用pip安装tensorflow,只需一行代码就安装好了。
cpu版:
pip3 install --upgrade tensorflow
gpu版:
pip3 install --upgrade tensorflow-gpu
·
但是,推荐您使用Anaconda,用Anaconda可以创建和管理虚拟环境,并能方便的安装和管理三方库,将tensorflow安装在虚拟环境中也能避免不必要的干扰。
1.安装Anaconda
我使用的是Anaconda集成的开发环境,默认的python版本为3.6。
关于Anaconda安装、Python多版本、国内源等问题:http://blog.csdn.net/tz_zs/article/details/73459800
2.创建虚拟环境
TensorFlow 对 3.5 版本 python 支持比较好,我们用 Anaconda 创建一个 python3.5 的环境(ps:现在用 3.6 版本也可以,据说已经完美支持了)。
打开 Anaconda Prompt,输入:
conda create -n tensorflow python=3.5
·
当然,直接在 Anaconda Navigator 的 Environments 创建环境也是一样的,环境名称我取作了 tensorflow。
3.激活环境
在输入以下命令,激活环境
activate tensorflow
其实就是激活切换到 tensorflow 这个虚拟环境下,与在 Environments 中直接点击来激活切换环境是一样的
4.安装cpu版的TensorFlow
比较简单,直接输入以下命令安装就可以了
pip install tensorflow
5.安装gpu版的TensorFlow
如果gpu支持,可以安装gpu版的
pip install tensorflow-gpu
·
因为需要GPU加速,我们还需要安装cuda和cuDnn(专门为deep learning准备的加速库)。
(1)安装CUDA:
直接去下载,安装
cuda安装完成后默认的环境变量配置CUDA_PATH是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0
但是这样不能直接访问到bin和lib\x64下的程序包
在path中加上这两个路径:
(2)安装cuDNN
下载 cudnn 需要你在官网填一些表,注册成开发者。
下载下来就是一个压缩包,解压把下面这些文件复制到相应位置即可
C:\cuda\bin\cudnn64_5.dll —> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
C:\cuda\include\cudnn.h —> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\include
C:\cuda\lib\x64\cudnn.lib —> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
6.可能遇到的问题:
如果import tensorflow时,报了以下的类似错误,是因为cuda的相关的dll的问题
- 可能原因及解决办法一:步骤5第二步没有配置path(有些教程并没有写这一步,要注意)
- 可能原因及解决办法二:是你安装的是更高版本的cuDNN的问题,如:cuDNN 6.0。降级成5.1的就可以了(根据github上的讨论,应该是版本匹配的问题 | 问题讨论地址)
- 可能原因及解决办法三:安装一个Visual Studio 2015 Community一劳永逸(还是dll的问题,方法来自某篇问答)
·
File "C:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
File "<frozen importlib._bootstrap>", line 577, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 906, in create_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 66, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 21, in <module>
_pywrap_tensorflow = swig_import_helper()
File "C:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow')
File "C:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Anaconda3\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
from tensorflow.python import *
File "C:\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 72, in <module>
raise ImportError(msg)
ImportError: Traceback (most recent call last):
File "C:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 18, in swig_import_helper
return importlib.import_module(mname)
File "C:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 666, in _load_unlocked
File "<frozen importlib._bootstrap>", line 577, in module_from_spec
File "<frozen importlib._bootstrap_external>", line 906, in create_module
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Anaconda3\lib\site-packages\tensorflow\python\__init__.py", line 66, in <module>
from tensorflow.python import pywrap_tensorflow
File "C:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 21, in <module>
_pywrap_tensorflow = swig_import_helper()
File "C:\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 20, in swig_import_helper
return importlib.import_module('_pywrap_tensorflow')
File "C:\Anaconda3\lib\importlib\__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: No module named '_pywrap_tensorflow'
Failed to load the native TensorFlow runtime.
·
写在最后
新版Anaconda的库里已经有集成tensorflow,直接勾选安装,也是可以直接使用的。不过没有深入使用,不知道有没有问题,然后就是tensorflow的版本不是最新的。
补充:根据官方说法“ conda软件包是社区支持的,没有正式的支持。也就是说,TensorFlow团队既不测试也不维护这个conda软件包。使用该软件包需要您自担风险。”
2018年1月3日补充
1、tensorflow官网的资料越来越详细了:在Windows上安装TensorFlow
2、从源码安装TensorFlow(使用源码安装可以支持不同的CUDA/CuDNN版本,但因为编译工具Bazel在windows上还不大成熟,所以暂不推荐)
2018年5月30日补充
我之前的环境版本应该是:Windows 10 + Python 3.5 + cuDNN 5.1 + CUDA 8.0 + Tensorflow 1.2
这次重装了更新的版本: tensorflow 1.8版本,需要CUDA 9.0
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-toolkit
·
在官网下载的最新版是 cuda 9.2.88 (实测不行,9.2的版本的那些个文件是‘cublas64_92.dll’),请务必在历史包里寻找9.0的版本下载安装。(个人感觉这样一一对应的安装相应版本是最简单的方法了,也不容易出现未知的错误。其他的有一些能够方便的升级CUDA的方法,大家感兴趣可以自行去查找)
·
由下图可知,我们需要下载的配套版本是cuDNN v7.1.4
文件的复制与之前的情况类似。