Keras深度学习框架学习笔记(3) - AttributeError:’module’ object has no attribute ‘ifelse’错误信息的解决方法
在运行训练卷积神经网络CNN模型进行分类的Python代码过程中,出现如下错误信息:
AttributeError:’module’object has no attribute ‘ifelse’
问题分析:
根据错误信息提示,错误是在theano_backend.py这个文件中发生,可见应该是keras的backend(后端) theano出现了问题,进一步查找发现是kera的版本和theano版本不匹配所致,即所使用的theano版本太新,而keras尚不支持该版本中theano的ifelse接口。
解决方法一(此种方法未经实测)
降级所使用的theano版本,重新安装0.9版本的theano
解决方法二
修改theano_backend.py这个文件。
1) 首先切换到theano_backend.py文件所在目录:
cd /usr/local/lib/python2.7/dist-packages/keras/backend
2) 然后执行:sudo gedit theano_backend.py &
3) 在文件头添加:from theano import ifelse
4) 将第1482行代码:
修改为:
保存后,再次运行Python代码,不再报错,问题成功解决。