使用 MNIST 打印更大的数字

Using MNIST to print larger numbers

MNIST 数据集包含所有 10 个数字以供训练。如果我预测 9,模型将给出 9 作为输出。但是,如果我想预测数字 34.542 怎么办?它会给我一个错误的数字,因为我只训练了 0 到 9。那么,我怎么能预测 > 9 数字呢?

这是我的代码,但我认为它在这里用处不大

model = tf.keras.models.Sequential()
    model.add(tf.keras.layers.Flatten())
    model.add(tf.keras.layers.Dense(units=128, activation=tf.nn.relu))
    model.add(tf.keras.layers.Dense(units=128, activation=tf.nn.relu))
    model.add(tf.keras.layers.Dense(units=10, activation=tf.nn.softmax))

    # Compiling and optimizing model
    model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

    # Training the model
    model.fit(X_train, y_train, epochs=3)

如评论中所述,您不能将模型直接应用于大量图像。 你必须:

  • 应用检测(定位)模型来查找和分离每个数字。每个数字都有一个边界框。
  • 将您的分类模型应用于每个边界框的提取图像,以获得对分隔数字的预测。

例如参见this article