TypeError:softmax()得到了一个意外的关键字参数' axis'

时间:2018-06-09 16:59:51

标签: python-2.7 keras softmax

当我使用它时,它不会给出任何错误

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()得到了一个意外的关键字参数'轴'

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

6 个答案:

答案 0 :(得分:12)

尝试一下:

import tensorflow as tf 

然后以这种方式添加softmax层:

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

答案 1 :(得分:4)

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

断言此错误的原因是张量流和keras版本不匹配。我已经解决了这个问题:

pip install tensorflow==1.5.0

如果您不想降低喀拉拉邦的温度,则tf 1.5.0是第一个支持softmax(axis = axis)的版本。

答案 5 :(得分:0)

是的,我也有同样的问题,

通过更新anaconda中的软件包

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