我相信您的 Keras 和/或 TensorFlow 不是最新的,您应该更新它/它们。
这是 2017 年夏季 Keras 中的一个已知问题,并已在此提交中修复。请参阅有关错误报告的此评论的更多信息。
也axis
于2017 年 11 月 22 日在 TensorFlow 中作为参数引入,softmax()
因此如果 TensorFlow 版本为 1.4.0 或更低,也会导致此错误。
如果您在链接的提交处查看 Keras 的来源,则究竟是哪一个导致错误取决于处理的张量的等级。
此代码适用于当前版本(在https://colab.research.google.com上测试):
import keras
from keras.models import Sequential
from keras.layers import Dense, Activation
from keras.optimizers import SGD
print( keras.__version__ )
model = Sequential()
model.add( Dense(6, input_shape=(6,), activation = 'softmax' ) )
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
输出
2.1.6
但更重要的是,编译模型没有错误。