12
votes

When I use this it does not give any error

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

But when I use this

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'))

I get error as

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

What should I do? I am using python2 Thanks

6
Upgrade, pip install -U keras tensorflow, it's likely you are using an old version. - nuric
I had to restart my notebook after the upgrade in order for the upgrade changes to take effect - wcyn

6 Answers

14
votes

Try this:

import tensorflow as tf 

Then add a softmax layer in this way:

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

Upgrade your tensoflow and Keras libraries to latest versions. Lower versions don't support softmax axis. Make sure you are upgrading them in the environment in which you are running the program (very important).

1
votes

The reason why assert this error is version of tensorflow and keras is mismatch. I have slove this problem:

pip install tensorflow==1.5.0

If you donot want to downdegree keras, tf 1.5.0 is the first version that support softmax(axis=axis).

0
votes

upgrade tensorflow and keras to below version solved my issue

pip install keras==2.1.6
pip install tensorflow==1.7.0
0
votes

Yes, I too had the same problem,

by updating the package in anaconda

and model.add(Activation(tf.nn.softmax)) works fine.

-1
votes

You need to install TensorFlow. You can do it using one of the following commands:

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