Tensorflow 解决 No module named '_pywrap_tensorflow_internal'

这个问题是我在windows上尝试安装GPU版本时出现的,系统 win10,CUDA 8.0,VS2015 com,cudnn-8.0-windows10-x64-v6.0。

官网上安装指南中Common installation problems也有提到,给出的是STACK OVERFLOW 的解答:On Windows, running “import tensorflow” generates No module named “_pywrap_tensorflow” error,主要原因是没有安装cuDDN库。

但是装了之后仍然不能解决这个问题,注意其实两个问题有所区别:“_pywrap_tensorflow”和’_pywrap_tensorflow_internal’,是不是CUDA安装出现问题了呢?在anaconda上的命令行输入nvcc是找不到相应程序的,而在系统中的命令行可以找到。
首先为了排除错误,单独在anaconda安装了python 3.5,但还是同样的问题。那么CPU版本可以吗?答案是肯定的,还是GPU哪里没配置好。
终于还是在STACK OVERFLOW上找到了答案:Cannot import Tensorflow for GPU on Windows 10
在cuda安装目录下,如:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin把cudnn的文件名改一下就可以了,cudnn64_6.dll改为cudnn64_5.dll即可。
试了一下,果然问题解决了。