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

Aak*_*wal 10 python-2.7 keras softmax

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

out_layer = tf.add(tf.matmul(layer_4 , weights['out']) , biases['out'])
out_layer = tf.nn.softmax(out_layer)
Run Code Online (Sandbox Code Playgroud)

但是当我使用它时

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'))
Run Code Online (Sandbox Code Playgroud)

我得到错误

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

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

小智 13

试试这个:

import tensorflow as tf 
Run Code Online (Sandbox Code Playgroud)

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

model.add(Activation(tf.nn.softmax))
Run Code Online (Sandbox Code Playgroud)

  • @SAEERON嘿,它对我有用,但是当我尝试保存模型并加载它时,我遇到了相同的错误:TypeError:softmax()得到了意外的关键字参数'axis'。我的环境是:OSX,keras = 2.1.6,tf = 1.1.0 (2认同)

Cri*_*vet 5

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