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

Aakash aggarwal picture Aakash aggarwal · Jun 9, 2018 · Viewed 14.5k times · Source

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

Answer

SAEERON picture SAEERON · Jul 15, 2018

Try this:

import tensorflow as tf 

Then add a softmax layer in this way:

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