我安装的是python 3.7,但配置的是python3.6的环境。

事先安装Anaconda3.4Visual Studio 2015,这样可支持高版本的tensorflow-gpu。

conda create –n nlp3 python=3.6nlp3是虚拟环境名(可自己随便取)。

我配的是tensorflow-gpu==1.4.0版,做深度学习需要大量的计算,如果自己电脑配置可以的话,最好按tensorflow-gpu.以下是可以安装tensorflow-gpu版的显卡要求:

查看自己显卡型号:

cat /proc/driver/nvidia/version

Nvidia官网:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html

显卡与CUDA匹配关系:

终止GPU的某个进程_终止GPU的某个进程

各各显卡计算能力:

终止GPU的某个进程_终止GPU的某个进程_02

 

安装CUDA8.0及CUDNN6.0

CUDA安装URL传送门https://developer.nvidia.com/cuda-downloads

CUDNN的ZIP下载到https://developer.nvidia.com/cudnn

以下是cuda+cudnn+tensorflow-gpu版本对应关系。在此处我吃了好大的亏,先是下的最新版的cuda+cudnn,然而发现,无论对应那个版本的tensorflow-gpu,都无法运行,也可能是我能力有限(哭)。所以大家最好选一下对应版本来下载安装。

tensorflow-gpu v1.9.0 | cuda9.0 |  cuDNN7.1.4可行  | 备注:7.0.4/ 7.0.5/ 7.1.2不明确tensorflow-gpu v1.8.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.7.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.6.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.5.0 | cuda9.0 |  cuDNN  不明确 | 备注:7.0.4/ 7.0.5/ 7.1.2/ 7.1.4

tensorflow-gpu v1.4.0 | cuda8.0 |  cuDNN 6.0 | 备注:6.0正常使用, 7.0.5不能用,5.1未知

tensorflow-gpu v1.3.0 | cuda8.0 |  cuDNN 6.0 | 备注:6.0正常使用, 7.0.5不能用,5.1未知

tensorflow-gpu v1.2.0 | cuda8.0 |  cuDNN 5.1 | 备注:5.1正常使用, 6.0/ 7.0.5 未知

tensorflow-gpu v1.1.0 | cuda8.0 |  cuDNN 5.1 | 备注:5.1正常使用, 6.0/ 7.0.5 未知

以下是python版本cup/gpu,需要的VS版本,cuda/cuDNN的版本,对应关系:

尽量保持与下表一直,各各版本的tensorflow,在github上的地址:https://github.com/fo40225/tensorflow-windows-wheel.git

Path

Compiler

CUDA/cuDNN

SIMD

Notes

1.13.1\py37\CPU\sse2

VS2017 15.9

No

x86_64

Python 3.7

1.13.1\py37\CPU\avx2

VS2017 15.9

No

AVX2

Python 3.7

1.13.1\py37\GPU\cuda101cudnn75sse2

VS2017 15.9

10.1.105_418.96/7.5.0.56

x86_64

Python 3.7/Compute 3.0

1.13.1\py37\GPU\cuda101cudnn75avx2

VS2017 15.9

10.1.105_418.96/7.5.0.56

AVX2

Python 3.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0,7.5

1.12.0\py36\CPU\sse2

VS2017 15.8

No

x86_64

Python 3.6

1.12.0\py36\CPU\avx2

VS2017 15.8

No

AVX2

Python 3.6

1.12.0\py36\GPU\cuda100cudnn73sse2

VS2017 15.8

10.0.130_411.31/7.3.1.20

x86_64

Python 3.6/Compute 3.0

1.12.0\py36\GPU\cuda100cudnn73avx2

VS2017 15.8

10.0.130_411.31/7.3.1.20

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0,7.5

1.12.0\py37\CPU\sse2

VS2017 15.8

No

x86_64

Python 3.7

1.12.0\py37\CPU\avx2

VS2017 15.8

No

AVX2

Python 3.7

1.12.0\py37\GPU\cuda100cudnn73sse2

VS2017 15.8

10.0.130_411.31/7.3.1.20

x86_64

Python 3.7/Compute 3.0

1.12.0\py37\GPU\cuda100cudnn73avx2

VS2017 15.8

10.0.130_411.31/7.3.1.20

AVX2

Python 3.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0,7.5

1.11.0\py36\CPU\sse2

VS2017 15.8

No

x86_64

Python 3.6

1.11.0\py36\CPU\avx2

VS2017 15.8

No

AVX2

Python 3.6

1.11.0\py36\GPU\cuda100cudnn73sse2

VS2017 15.8

10.0.130_411.31/7.3.0.29

x86_64

Python 3.6/Compute 3.0

1.11.0\py36\GPU\cuda100cudnn73avx2

VS2017 15.8

10.0.130_411.31/7.3.0.29

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0,7.5

1.11.0\py37\CPU\sse2

VS2017 15.8

No

x86_64

Python 3.7

1.11.0\py37\CPU\avx2

VS2017 15.8

No

AVX2

Python 3.7

1.11.0\py37\GPU\cuda100cudnn73sse2

VS2017 15.8

10.0.130_411.31/7.3.0.29

x86_64

Python 3.7/Compute 3.0

1.11.0\py37\GPU\cuda100cudnn73avx2

VS2017 15.8

10.0.130_411.31/7.3.0.29

AVX2

Python 3.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0,7.5

1.10.0\py36\CPU\sse2

VS2017 15.8

No

x86_64

Python 3.6

1.10.0\py36\CPU\avx2

VS2017 15.8

No

AVX2

Python 3.6

1.10.0\py36\GPU\cuda92cudnn72sse2

VS2017 15.8

9.2.148.1/7.2.1.38

x86_64

Python 3.6/Compute 3.0

1.10.0\py36\GPU\cuda92cudnn72avx2

VS2017 15.8

9.2.148.1/7.2.1.38

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.10.0\py27\CPU\sse2

VS2017 15.8

No

x86_64

Python 2.7

1.10.0\py27\CPU\avx2

VS2017 15.8

No

AVX2

Python 2.7

1.10.0\py27\GPU\cuda92cudnn72sse2

VS2017 15.8

9.2.148.1/7.2.1.38

x86_64

Python 2.7/Compute 3.0

1.10.0\py27\GPU\cuda92cudnn72avx2

VS2017 15.8

9.2.148.1/7.2.1.38

AVX2

Python 2.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.9.0\py36\CPU\sse2

VS2017 15.7

No

x86_64

Python 3.6

1.9.0\py36\CPU\avx2

VS2017 15.7

No

AVX2

Python 3.6

1.9.0\py36\GPU\cuda92cudnn71sse2

VS2017 15.7

9.2.148/7.1.4

x86_64

Python 3.6/Compute 3.0

1.9.0\py36\GPU\cuda92cudnn71avx2

VS2017 15.7

9.2.148/7.1.4

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.9.0\py27\CPU\sse2

VS2017 15.7

No

x86_64

Python 2.7

1.9.0\py27\CPU\avx2

VS2017 15.7

No

AVX2

Python 2.7

1.9.0\py27\GPU\cuda92cudnn71sse2

VS2017 15.7

9.2.148/7.1.4

x86_64

Python 2.7/Compute 3.0

1.9.0\py27\GPU\cuda92cudnn71avx2

VS2017 15.7

9.2.148/7.1.4

AVX2

Python 2.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.8.0\py36\CPU\sse2

VS2017 15.4

No

x86_64

Python 3.6

1.8.0\py36\CPU\avx2

VS2017 15.4

No

AVX2

Python 3.6

1.8.0\py36\GPU\cuda91cudnn71sse2

VS2017 15.4

9.1.85.3/7.1.3

x86_64

Python 3.6/Compute 3.0

1.8.0\py36\GPU\cuda91cudnn71avx2

VS2017 15.4

9.1.85.3/7.1.3

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.8.0\py27\CPU\sse2

VS2017 15.4

No

x86_64

Python 2.7

1.8.0\py27\CPU\avx2

VS2017 15.4

No

AVX2

Python 2.7

1.8.0\py27\GPU\cuda91cudnn71sse2

VS2017 15.4

9.1.85.3/7.1.3

x86_64

Python 2.7/Compute 3.0

1.8.0\py27\GPU\cuda91cudnn71avx2

VS2017 15.4

9.1.85.3/7.1.3

AVX2

Python 2.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.7.0\py36\CPU\sse2

VS2017 15.4

No

x86_64

Python 3.6

1.7.0\py36\CPU\avx2

VS2017 15.4

No

AVX2

Python 3.6

1.7.0\py36\GPU\cuda91cudnn71sse2

VS2017 15.4

9.1.85.3/7.1.2

x86_64

Python 3.6/Compute 3.0

1.7.0\py36\GPU\cuda91cudnn71avx2

VS2017 15.4

9.1.85.3/7.1.2

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.7.0\py27\CPU\sse2

VS2017 15.4

No

x86_64

Python 2.7

1.7.0\py27\CPU\avx2

VS2017 15.4

No

AVX2

Python 2.7

1.7.0\py27\GPU\cuda91cudnn71sse2

VS2017 15.4

9.1.85.3/7.1.2

x86_64

Python 2.7/Compute 3.0

1.7.0\py27\GPU\cuda91cudnn71avx2

VS2017 15.4

9.1.85.3/7.1.2

AVX2

Python 2.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.6.0\py36\CPU\sse2

VS2017 15.4

No

x86_64

Python 3.6

1.6.0\py36\CPU\avx2

VS2017 15.4

No

AVX2

Python 3.6

1.6.0\py36\GPU\cuda91cudnn71sse2

VS2017 15.4

9.1.85.3/7.1.1

x86_64

Python 3.6/Compute 3.0

1.6.0\py36\GPU\cuda91cudnn71avx2

VS2017 15.4

9.1.85.3/7.1.1

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.6.0\py27\CPU\sse2

VS2017 15.4

No

x86_64

Python 2.7

1.6.0\py27\CPU\avx2

VS2017 15.4

No

AVX2

Python 2.7

1.6.0\py27\GPU\cuda91cudnn71sse2

VS2017 15.4

9.1.85.2/7.1.1

x86_64

Python 2.7/Compute 3.0

1.6.0\py27\GPU\cuda91cudnn71avx2

VS2017 15.4

9.1.85.2/7.1.1

AVX2

Python 2.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.5.0\py36\CPU\avx

VS2017 15.4

No

AVX

Python 3.6

1.5.0\py36\CPU\avx2

VS2017 15.4

No

AVX2

Python 3.6

1.5.0\py36\GPU\cuda91cudnn7avx2

VS2017 15.4

9.1.85/7.0.5

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.5.0\py27\CPU\sse2

VS2017 15.4

No

x86_64

Python 2.7

1.5.0\py27\CPU\avx

VS2017 15.4

No

AVX

Python 2.7

1.5.0\py27\CPU\avx2

VS2017 15.4

No

AVX2

Python 2.7

1.5.0\py27\GPU\cuda91cudnn7sse2

VS2017 15.4

9.1.85/7.0.5

x86_64

Python 2.7/Compute 3.0

1.5.0\py27\GPU\cuda91cudnn7avx2

VS2017 15.4

9.1.85/7.0.5

AVX2

Python 2.7/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.4.0\py36\CPU\avx

VS2017 15.4

No

AVX

Python 3.6

1.4.0\py36\CPU\avx2

VS2017 15.4

No

AVX2

Python 3.6

1.4.0\py36\GPU\cuda91cudnn7avx2

VS2017 15.4

9.1.85/7.0.5

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1,7.0

1.3.0\py36\CPU\avx

VS2015 Update 3

No

AVX

Python 3.6

1.3.0\py36\CPU\avx2

VS2015 Update 3

No

AVX2

Python 3.6

1.3.0\py36\GPU\cuda8cudnn6avx2

VS2015 Update 3

8.0.61.2/6.0.21

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1

1.2.1\py36\CPU\avx

VS2015 Update 3

No

AVX

Python 3.6

1.2.1\py36\CPU\avx2

VS2015 Update 3

No

AVX2

Python 3.6

1.2.1\py36\GPU\cuda8cudnn6avx2

VS2015 Update 3

8.0.61.2/6.0.21

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1

1.1.0\py36\CPU\avx

VS2015 Update 3

No

AVX

Python 3.6

1.1.0\py36\CPU\avx2

VS2015 Update 3

No

AVX2

Python 3.6

1.1.0\py36\GPU\cuda8cudnn6avx2

VS2015 Update 3

8.0.61.2/6.0.21

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1

1.0.0\py36\CPU\sse2

VS2015 Update 3

No

x86_64

Python 3.6

1.0.0\py36\CPU\avx

VS2015 Update 3

No

AVX

Python 3.6

1.0.0\py36\CPU\avx2

VS2015 Update 3

No

AVX2

Python 3.6

1.0.0\py36\GPU\cuda8cudnn51sse2

VS2015 Update 3

8.0.61.2/5.1.10

x86_64

Python 3.6/Compute 3.0

1.0.0\py36\GPU\cuda8cudnn51avx2

VS2015 Update 3

8.0.61.2/5.1.10

AVX2

Python 3.6/Compute 3.0,3.5,5.0,5.2,6.1

0.12.0\py35\CPU\avx

VS2015 Update 3

No

AVX

Python 3.5

0.12.0\py35\CPU\avx2

VS2015 Update 3

No

AVX2

Python 3.5

0.12.0\py35\GPU\cuda8cudnn51avx2

VS2015 Update 3

8.0.61.2/5.1.10

AVX2

Python 3.5/Compute 3.0,3.5,5.0,5.2,6.1

 

下载好后点击安装,这个安装跟NVIDIA独显驱动安装界面很像,进入到选项时一般选择自定义安装(不要选那个精简),然后自定义安装只要安装第一项CUDA即可,下面三个分别是独显驱动,3D Vision,Physx ,安装过程中还可以修改CUDA Development、Sample、Documentory的安装路径,如果你觉得自己的C盘没问题那就默认它的路径,否则你可以考虑把他们全部装到同一个目录下(我是全部安装在D:\MyDrivers\CUDA_three目录下,Sample你可以单独放一个地方,它貌似不是很重要,其他两个的内容可以并在一起放)。

安装好后把Samples单独放在Samples文件夹下,其他两个的内容在当前文件夹中,并且去把C:\Program File\NVIDIA GPU Computing Toolkit\CUDA\v8.0文件夹下的所有东西也搬过来的结果(那个zip是CUDNN,之后会下。如果感觉麻烦就直接用默认路径,这样可以省事也可以少设置一点环境变量)

NVIDIA的下载要注册账号才能下载(免费)。这个比较简单,大家去下载上面提到的V6.0.*版本即可,下好是一个ZIP,解压后里面有三个文件夹,每个文件夹下都是只有一个名为CUDNN.*的文件,大家只需要把这三个文件夹复制,然后复制到D:\MyDrivers\CUDA_three即可(因为是同名文件夹会自动合并,不放心可以分别把三个CUDNN.*剪切复制到该目录下对应文件夹里即可)。

以下是对应文件夹的内容截图:

终止GPU的某个进程_CUDA_03

之后要配置环境变量(如果你默认的安装路径则可省去了)

添加变量名,和相应地址如下:

终止GPU的某个进程_tensorflow安装错误解决办法_04

在path中添加:

终止GPU的某个进程_CUDA_05

 

然后检验一下CUDA及CUDNN是否安装好:打开CMD,输入nvcc -V回车:

终止GPU的某个进程_cuDNN_06

安装Tensorflow-GPU:

利用Google提供的镜像完成了Tensorflow-GPU的安装。里面有各种操作系统和对应的python版本,这里是传送门:https://tensorflow.google.cn/install/pip

终止GPU的某个进程_CUDA_07

例如选择:https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl

然后去Anaconda Prompt中

pip install https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-1.12.0-cp36-cp36m-win_amd64.whl即可

tensorflow-gpu-1.12.0可以改成1.4.0 或其他版本。

之后在pycharm中,可选择相应的环境:

终止GPU的某个进程_tensorflow安装错误解决办法_08

在pycharm中即可运行了。。。

终止GPU的某个进程_tensorflow安装错误解决办法_09

 

如果你的CPU不支持AVX指令集,则会出项以下错误:ImportError: DLL load failed: A dynamic link library (DLL) initialization routine failed. (Win 10) or ImportError: DLL load failed with error code -1073741795 (Win 7)

对于ImportError: DLL load failed:......等的各种错误问题

可能是以下几方面:

1.事先没有安装VS,(在安装VS时,只需选择C++的插件即可(若不需要其他插件))

2.安装的CUDA版本与自己的显卡类型不匹配,这个在事先安装前,一定要确定自己的显卡支持的CUDA版本,最好按上图的对应关系

3.安装的tensorflow与CUDA版本不匹配,(注意:最好使用Anaconda去安装tensorflow,这样可避免tensorflow与当前环境匹配问题)

若在运行时出现如下问题:

>>> sess = tf.Session()
2019-01-19 16:13:58.590465: I C:\users\nwani\_bazel_nwani\mmtm6wb6\execroot\org_tensorflow\tensorflow\core\common_runtime\gpu\gpu_device.cc:1435] Adding visible gpu devices: 0
 2019-01-19 16:13:58.603528: E C:\users\nwani\_bazel_nwani\mmtm6wb6\execroot\org_tensorflow\tensorflow\core\common_runtime\direct_session.cc:154] Internal: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "D:\Program\NLP_jar\Miniconda\envs\nlp2\lib\site-packages\tensorflow\python\client\session.py", line 1560, in __init__
     super(Session, self).__init__(target, graph, config=config)
   File "D:\Program\NLP_jar\Miniconda\envs\nlp2\lib\site-packages\tensorflow\python\client\session.py", line 633, in __init__
     self._session = tf_session.TF_NewSession(self._graph._c_graph, opts)
 tensorflow.python.framework.errors_impl.InternalError: Failed to create session.

解决方案:输入以下命令
>>> set CUDA_VISIBLE_DEVICES=''