Win10 Tensorflow1.9.0 Keras2.2.0
主要参考了:
我的AI之路(5)--如何选择和正确安装跟Tensorflow版本对应的CUDA和cuDNN版本
感觉主要就是要注意各个库和安装包的版本要对应上,以及:
1、实验了win7好像不行,所以感觉最好win10。
2、安装好cuda之后,要进一步配置环境变量。
在解决tensorflow报错问题的过程中我注意到https://github.com/tensorflow/tensorflow/releases提供了Tensorflow个版本的releases notes,在里面搜索cuda,可以看到在Tensorflow 1.6版里有个大的改动:
Release 1.6.0
Breaking Changes
- Prebuilt binaries are now built against CUDA 9.0 and cuDNN 7.
- Prebuilt binaries will use AVX instructions. This may break TF on older CPUs
这表明Tensorflow1.6开始使用CUDA9.0+cuDNN7。
另外还有一个快捷办法,通过查看tensorflow的源码build_info.py知道其使用的CUDA和cuDNN版本(我在import tensorflow出错后,根据出错信息,阅读琢磨出错的.py代码文件,跟调用关系找到的这个定义版本信息的文件,以前的老版本tensorflow似乎没有这个文件,版本信息都是写死在初始化的.py源码里,需要搜索初始化代码找到检查cuda版本地方):
假设tensorflow安装在D:\Anaconda3\envs\tensorflow环境里,那么打开D:\Anaconda3\envs\tensorflow\Lib\site-packages\tensorflow\python\platform\build_info.py这个文件,可以看到使用的CUDA 9.0和cuDNN 7:
msvcp_dll_name = 'msvcp140.dll'
cudart_dll_name = 'cudart64_90.dll'
cuda_version_number = '9.0'
nvcuda_dll_name = 'nvcuda.dll'
cudnn_dll_name = 'cudnn64_7.dll'
cudnn_version_number = '7'
这里的msvcp140.dll应该在C:\Windows\System32\下面,是通过安装vc 2005 redistribute提供的,nvcuda.dll也是在C:\Windows\System32\下面,cudart64_90.dll则是安装CUDA 9.0时产生的,cudnn64_7.dll是安装cuDNN 7时产生的,任何一个文件缺失或没加入搜索路径都有可能引起tensorflow在import时报ImportError错。
最新的Tensorflow 1.9.0 刚刚发布了(参见https://github.com/tensorflow/tensorflow/releases),我下载了源码看了一下源码,Tensorflow 1.9仍然使用的CUDA9.0,所以安装CUDA9.0一两年内都是妥妥的正确选择!
安装CUDA时,最好使用自定义安装,把Visual Studio Integration的勾选去掉,否则你机器上安装的Visual Studio版本不对或者没有安装时,下一步会报错导致你安装不下去。主要是这个插件不影响TF的正常使用。
安装好CUDA之后,最好再配置下cuda的环境变量:
在path中增加 cuda 的lib运行环境:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64;
下载对应的cudnn,之后解压然后复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0 这个目录。
使用原生 pip 进行安装
如果您的计算机上未安装以下某个 Python 版本,请立即安装:
在 Windows 上,TensorFlow 支持 Python 3.5.x 和 3.6.x。请注意,Python 3 附带有 pip3 软件包管理器,您需使用此程序来安装 TensorFlow。
要安装 TensorFlow,请启动终端。然后在该终端中发出正确的 pip3 install (直接就是使用pip就可以了)命令。要安装仅支持 CPU 的 TensorFlow 版本,请输入以下命令:
C:\> pip3 install --upgrade tensorflow
要安装 GPU 版本的 TensorFlow,请输入以下命令:
C:\> pip3 install --upgrade tensorflow-gpu
也可以直接就用:
pip install tensorflow-gpu
然后使用python的pip可以安装特定版本的tensorflow,比如
pip install tensorflow-gpu==1.1.0
如何查看当前tensorflow版本:
python
import tensorflow as tf
tf.__version__
查询tensorflow安装路径为:
tf.__path__
从 shell 中调用 Python,如下所示:
$ python
在 Python 交互式 shell 中输入以下几行简短的程序代码:
>>> import tensorflow as tf
>>> hello = tf.constant('Hello, TensorFlow!')
>>> sess = tf.Session()
>>> print(sess.run(hello))
如果系统输出以下内容,说明您可以开始编写 TensorFlow 程序了:
Hello, TensorFlow!

至此tf,就安装成功。
然后就可以pip install keras.就安装好了keras。
安装特定版本keras
pip install --upgrade keras==2.1.0 升级到指定版本
pip install keras==2.0.9安装指定版本
查找模型的权值:
from keras.models import load_model
model = load_model('cifar10_ResNetSWISH1_110v1_model.163.h5',compile=False)
srelu = model.get_layer('swish_9').get_weights()
print(srelu)
model.save('my_model.h5') #保存为h5模型

另一种虚拟环境配置的办法:
这个对应的python版本是3.5
conda create --name tf_gpu
conda activate tf_gpu
conda install tensorflow-gpu==1.9.0
但是一直没有安装成功,后来反而是使用c:\Anaconda3\envs\tf_gpu\python.exe -m pip install keras==2.2.0 才安装好的。

浙公网安备 33010602011771号