准确率只有 0.0999
来源:2-4 实战分类模型之模型构建
慕桂英3589539
2021-06-02
fashion_mnist = keras.datasets.fashion_mnist
(x_train_all,y_train_all),(x_test,y_test) = fashion_mnist.load_data()
x_valid,x_train = x_train_all[:5000],x_train_all[5000:]
y_valid,y_train = y_train_all[:5000],y_train_all[5000:]
print(x_valid.shape,y_valid.shape)
print(x_train.shape,y_train.shape)
model = keras.models.Sequential()
model.add(keras.layers.Flatten(input_shape=[28,28]))
model.add(keras.layers.Dense(300,activation=“relu”))
model.add(keras.layers.Dense(100,activation=“relu”))
model.add(keras.layers.Dense(10,activation=“softmax”))
model.compile(loss = “sparse_categorical_crossentropy”,
optimizer = ‘sgd’,
metrics = [‘accuracy’])
代码都是一样的 ,不过准确率只有 0.0999,是数据集发生了什么改动吗?
1回答
-
正十七
2021-06-07
数据集没有变化,有可能是需要调整learning rate,这是个常见问题,默认的learning rate是0.1, 在tf2比较早的版本中可以收敛,但tf2.比较后来的版本中不可以。
你可以试试:
model.compile(loss="sparse_categorical_crossentropy", optimizer = keras.optimizers.SGD(0.001), metrics = ["accuracy"])
这个我也更新到我们git上的code里了:https://git.imooc.com/coding-344/tensorflow2.0_course/src/master/chapter_2/tf_keras_classification_model.ipynb
30
相似问题