Win10 Tensorflow1.9.0 Keras2.2.0

主要参考了:

   我的AI之路(5)--如何选择和正确安装跟Tensorflow版本对应的CUDA和cuDNN版本

   在 Windows 上安装 TensorFlow 

  感觉主要就是要注意各个库和安装包的版本要对应上,以及:

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 才安装好的。

posted @ 2018-07-25 09:41  菜鸡一枚  阅读(115)  评论(0)    收藏  举报