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

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

当我使用它时它没有给出任何错误

out_layer = tf.add(tf.matmul(layer_4 , weights['out']) , biases['out'])
out_layer = tf.nn.softmax(out_layer)

但是当我使用这个

model=Sequential()

model.add(Dense(100, input_dim= n_dim, 
activation='tanh',kernel_initializer='uniform'))
keras.layers.core.Dropout(0.3, noise_shape=None, seed=None)

model.add(Dense(50,input_dim=1000,activation='sigmoid'))
keras.layers.core.Dropout(0.4, noise_shape=None, seed=None)

model.add(Dense(15,input_dim=500,activation='sigmoid'))
keras.layers.core.Dropout(0.2, noise_shape=None, seed=None)

model.add(Dense(units=n_class))
model.add(Activation('softmax'))

我收到错误消息

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

我该怎么办? 我正在使用 python2 谢谢

将您的 tensoflow 和 Keras 库升级到最新版本。低版本不支持 softmax 轴。 确保在您所在的环境中升级它们 运行 程序(非常重要)。

试试这个:

import tensorflow as tf 

然后这样添加一个softmax层:

model.add(Activation(tf.nn.softmax))

您需要安装 TensorFlow。您可以使用以下命令之一执行此操作:

pip install --upgrade tensorflow      # for Python 2.7
pip3 install --upgrade tensorflow     # for Python 3.n

将 tensorflow 和 keras 升级到以下版本解决了我的问题

pip install keras==2.1.6
pip install tensorflow==1.7.0

之所以断言这个错误是因为tensorflow和keras的版本不匹配。我已经解决了这个问题:

pip install tensorflow==1.5.0

如果你不想降级keras,tf 1.5.0是第一个支持softmax(axis=axis)的版本。

是的,我也遇到了同样的问题,

通过更新 anaconda 中的包

和 model.add(Activation(tf.nn.softmax)) 工作正常。