Ziffernerkennung mit Keras

Dies ist ein einfaches Beispielprogramm, welches ein neuronales Netz erstellt, mit den mnist-Daten lernt und danach einige Stichproben aus den mnist-Daten testet.

import numpy
import tensorflow as tf

mnist = tf.keras.datasets.mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = x_train / 255
x_test = x_test / 255

hidden_nodes = 100
output_nodes = 10
epochs = 3

model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(),
tf.keras.layers.Dense(hidden_nodes, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(output_nodes, activation=tf.nn.softmax)
])

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

# train
model.fit(x_train, y_train, epochs=epochs)

# test some values
predictions = model.predict(x_test)
for pos in range(1, 30):
print(pos, ": pred: ", numpy.argmax(predictions[pos]), " - correct is: ", y_test[pos])