12345678910111213141516171819202122232425262728293031323334 |
- import matplotlib.pyplot as plt
- import tensorflow as tf
- mnist = tf.keras.datasets.mnist
- (images_train, labels_train), (images_test, labels_test) = mnist.load_data()
- plt.figure()
- plt.imshow(images_train[0])
- plt.colorbar()
- plt.grid(False)
- plt.show()
- images_train, images_test = images_train / 255.0, images_test / 255.0
- model = tf.keras.models.Sequential([
- tf.keras.layers.Flatten(input_shape=(28, 28)),
- tf.keras.layers.Dense(128, activation='relu'),
- tf.keras.layers.Dropout(0.2),
- tf.keras.layers.Dense(10)
- ])
- model.compile(optimizer='adam', loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
- metrics=['accuracy'])
- model.fit(images_train, labels_train, epochs=5, verbose=0, use_multiprocessing=True)
- model.evaluate(images_test, labels_test, verbose=1)
- probability_model = tf.keras.Sequential([model, tf.keras.layers.Softmax()])
- for i, n in enumerate(labels_test[0:10]):
- p: tf.Tensor = probability_model(images_test[i: i + 1])
- pv = p.numpy().flatten().tolist()
- print(pv.index(max(pv)), n)
- print("doen")
|