最近在学习用Keras实现RNN和LSTM,安装的是Anaconda3-Python3.5.4,TensorFlow-CPU,但是出现了以下问题:
TypeError: while_loop() got an unexpected keyword argument 'maximum_iteratio
参考了这篇文章:https://blog.csdn.net/qq_27009517/article/details/83275846
简单地说这篇文章的解决方案是:
Use: Keras 2.1.2 Tensorflow 1.4.1
pip install keras==2.1.2
pip install tensorflow-gpu==1.4.0
就是安装Keras2.1.2和TensorFlow-GPU1.4.0,从此走上了一条不归路…
TensorFlow 有两个版本:CPU 版本和 GPU 版本。GPU 版本需要 CUDA 和 cuDNN 的支持,CPU 版本不需要。如果你要安装 GPU 版本,请先确认你的显卡支持 CUDA。具体确认方法请自行百度。 本文安装的为GPU,CPU 版本不需要安装 CUDA 和 cuDNN。这里值得一提的是,Python,CUDA,cuDNN之间的版本要严格匹配,不匹配安装会出错。
1、安装CUDA 8.0
首先,不同版本的Tensorflow对应的cuda tookit和cudnn是不同的,所以大家要对应自己安装的tensorflow版本去下载安装这两个工具。本文安装的是tensorflow1.4.0,对应cuda_8.0.61,此文件可以在官网地址 https://developer.nvidia.com/cuda-80-ga2-download-archive 下载,按图选择
network和local的区别是,一个在线安装,一个本地安装包,本文选择local。
下载完成一路next安装就好。
测试是否安装成功:
打开命令行cmd,输入nvcc -V
输出版本信息则安装成功
2、安装cudnn6.0
为了对应cuda8.0,安装cudnn6.0。可以在官网注册并下载,也可以直接CSDN找资源。这里提供我安装的网盘资源链接:https://pan.baidu.com/s/1c1fkjPawc44l86wN_KCs4g 密码:7zr3。
下载好压缩包名称是cudnn-windows7-x64-v6.0。下载完,解压,把解压好的文件,放入刚刚cuda对应的目录下。
将bin目录(例如C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin)添加到环境变量 PATH 中,不会添加环境变量请自行百度。
3、安装Anacoda3
因为之前我已经装过了,所以这里并没有提供具体流程,自行CSDN就可以啦…
4、安装tensorflow-gpu-1.4.0
在anaconda prompt下(不要使用cmd)创建环境
输入conda create -name tensorflow python=3.5
-name后面的tensorflow是你的环境名,随便写,之后它会成为你安装tensorflow的目录
输入activate tensorflow
,激活环境
百度搜索tensorflow-gpu 1.4.0,进入tensorflow-gpu官方包下载地址 https://pypi.org/project/tensorflow-gpu/1.4.0/ ,找到适配python3.5和win 64位的tensorflow-gpu 1.4.0安装包。
点击链接,在弹出来的下载窗口复制该链接地址,在Anaconda prompt中输入 pip install 下载地址
最后安装成功!
5、检查Tensorflow
首先进入python编译环境,信息如下:
然后输入import tensorflow as tf
,没有报错,就可以愉快地继续测试了
测试指令:
import tensorflow as tf
hello=tf.constant("hello, tensorflow")
sess=tf.Session()
print(sess.run(hello))
输出结果:
b'hello,tensorflow'
6、致谢
完成这个流程基本就是折磨,况且中间会出现非常多的奇怪的问题,本文参考了一些其他的教程,非常感谢下面作者的分享!