web-dev-qa-db-fra.com

TypeError: softmax () a obtenu un argument de mot clé inattendu 'axe'

Lorsque j'utilise cela, il ne donne aucune erreur

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

Mais quand j'utilise ça

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

Je reçois une erreur comme

TypeError: softmax () a obtenu un argument de mot clé inattendu 'axe'

Que devrais-je faire? J'utilise python2 Merci

10
Aakash aggarwal

Mettez à niveau vos bibliothèques tensoflow et Keras vers les dernières versions. Les versions inférieures ne prennent pas en charge l'axe Softmax. Assurez-vous de les mettre à niveau dans l'environnement dans lequel vous exécutez le programme (très important).

5
Crisovet

Essaye ça:

import tensorflow as tf 

Ajoutez ensuite une couche softmax de cette manière:

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

mettre à niveau tensorflow et keras vers la version ci-dessous a résolu mon problème

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

La raison pour laquelle affirmer cette erreur est une version de tensorflow et des keras est une incompatibilité. J'ai résolu ce problème:

pip install tensorflow==1.5.0

Si vous ne voulez pas diminuer les keras, tf 1.5.0 est la première version qui prend en charge softmax (axe = axe).

0
Zzh.

Vous devez installer TensorFlow. Vous pouvez le faire en utilisant l'une des commandes suivantes:

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