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

问题描述 投票:10回答:5

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

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

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

python-2.7 keras softmax
5个回答
4
投票

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


13
投票

试试这个:

import tensorflow as tf 

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

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

0
投票

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

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

0
投票

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

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

0
投票

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

pip install tensorflow==1.5.0

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

© www.soinside.com 2019 - 2024. All rights reserved.