kears 运行一个最简单的demo报错 5C

按照书上的代码如下:

 import numpy as np
import pandas as pd
from keras.utils import np_utils
np.random.seed(10)
from keras.models import Sequential
from keras.layers import Dense
from keras.datasets import mnist

#数据准备-------------------
(x_train_image, y_train_label), \
(x_test_image, y_test_label) = mnist.load_data()

x_Train =x_train_image.reshape(60000, 784).astype('float32')
x_Test = x_test_image.reshape(10000, 784).astype('float32')

#标准化
x_Train_normalize = x_Train/ 255
x_Test_normalize = x_Test/ 255

y_TrainOne_Hot = np_utils.to_categorical(y_train_label)
y_TestOne_Hot = np_utils.to_categorical(y_test_label)
print(x_Train_normalize)
print('sss')
print(y_TrainOne_Hot)

#建立模型-------------------

model = Sequential()
model.add(Dense(units=256,
                input_dim=784,
                kernel_initializer='normal',
                activation='relu'))

model.add(Dense(units=10,
                kernel_initializer='normal',
                activation='softmax'))

model.compile(loss='categorical_crossentropy',
              optimizer='adam', metrics=['accuracy'])

train_history =model.fit(x=x_Train_normalize,
                         y=y_TrainOne_Hot,validation_split=0.2,
                         epochs=10, batch_size=200,verbose=2)

报错:softmax() got an unexpected keyword argument 'axis'

详细的报错:
Traceback (most recent call last):
File "C:/Users/51530/PycharmProjects/ML/keras/K-MNIST/train.py", line 36, in
activation='softmax'))
File "E:\anaconda\lib\site-packages\keras\models.py", line 522, in add
output_tensor = layer(self.outputs[0])
File "E:\anaconda\lib\site-packages\keras\engine\topology.py", line 619, in call
output = self.call(inputs, **kwargs)
File "E:\anaconda\lib\site-packages\keras\layers\core.py", line 881, in call
output = self.activation(output)
File "E:\anaconda\lib\site-packages\keras\activations.py", line 29, in softmax
return K.softmax(x)
File "E:\anaconda\lib\site-packages\keras\backend\tensorflow_backend.py", line 2963, in softmax
return tf.nn.softmax(x, axis=axis)
TypeError: softmax() got an unexpected keyword argument 'axis'

有知道为什么会报错吗?先谢了

4个回答

跪求大神帮助啊,感激不尽!!!!

axis是关键字,搜索一下代码,哪里用到了 。
借鉴 : https://blog.csdn.net/s_sunnyy/article/details/70469600

CSDN_Black
csdn_black 我和这个不是一个情况啊。。。
接近 2 年之前 回复

问题自己解决了,没想到是Keras与tensorflow版本不相符,神坑啊,搞了半天

berylyellow
berylyellow 我的tf1.8和keras2.1.6不行,,,改成了tf1.3和keras2.1就可以了。哎
接近 2 年之前 回复
CSDN_Black
csdn_black 回复lvysuyu: 对,最好都用最新的版本
接近 2 年之前 回复
lvysuyu
lvysuyu 回复u014351430: keras2和tensoflow1.8.0可以
接近 2 年之前 回复
lvysuyu
lvysuyu 回复qq_36954082: keras2和tensoflow1.8.0可以
接近 2 年之前 回复
qq_36954082
qq_36954082 我也遇到了一样的问题 具体怎么解决呀
接近 2 年之前 回复
u014351430
香丘尽头 你好,我也遇到同样的问题,请问你用的是什么版本的keras和tensorflow呢?不胜感激
接近 2 年之前 回复

tensorflow版本不同导致的,只需要修改最后一行就行了: tf.nn.softmax(x, axis=axis) -> tf.nn.softmax(x, dim=axis)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问