TypeError:softmax() got an unexpected keyword argument 'axis'

利用MNIST数据集做手写数字识别时,model.add(Dense(units=10,activation='softmax')) 一直报如下错:

TypeError:softmax() got an unexpected keyword argument 'axis'。

查了下相关主题。有以下几种解决方案:

1)keras 2.1.6 版本中softmax已经没有axis参数,将keras版本降为2.1后问题解决;但问题是在降级版本安装后提示会与keras的其他模块不匹配,可能会带来其它的问题,因此这不是一个好的解决方案。

2)删除tensorflow_backend.py文件 line 2963中

return tf.nn.softmax(x,axis=axis)

中的axis=axis去掉。试过了不起作用。

3)查stackflow中相关主题,了解到这一信息:tensorflow1.4或更低版本会产生此问题。说明下,本人装的是Anaconda,查了下所装tensorflow版本,为1.1。果断升级至1.8.0。再尝试相关代码,搞定。语句如下:

pip install tensorflow==1.8.0

参考:https://blog.csdn.net/bailianfa/article/details/80891051

 

posted @ 2018-08-03 12:10  珠峰上吹泡泡  阅读(5764)  评论(0编辑  收藏  举报