准确率只有 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

3
0

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程