21年9月8日——CNN
import tensorflow as tf
print(tf.__version__)
mnist = tf.keras.datasets.fashion_mnist
(training_images, training_labels), (test_images, test_labels) = mnist.load_data()
training_images = training_images.reshape(60000, 28, 28, 1)
training_images = training_images / 255.0
test_images = test_images.reshape(10000, 28, 28, 1)
test_images = test_images / 255.0
model = tf.keras.models.Sequential([
tf.keras.layers.Conv2D(64, (3, 3), activation = 'relu', input_shape = (28, 28, 1)),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Conv2D(64, (3, 3), activation = 'relu',),
tf.keras.layers.MaxPooling2D(2, 2),
tf.keras.layers.Flatten(input_shape = (28, 28)),
tf.keras.layers.Dense(128, activation = tf.nn.relu),
tf.keras.layers.Dense(10, activation = tf.nn.softmax)]
)
model.compile(optimizer = tf.optimizers.Adam(),
loss = 'sparse_categorical_crossentropy')
model.fit(training_images, training_labels, epochs = 5)
test_loss = model.evaluate(test_images, test_labels)
print(tf.__version__)
指的是显示tensorflow的版本。
training_images = training_images.reshape(60000, 28, 28, 1)
将数据集reshape为60000个训练集,28*28,灰度图像。
tf.keras.layers.Conv2D(64, (3, 3), activation = 'relu', input_shape = (28, 28, 1)),
tf.keras.layers.MaxPooling2D(2, 2),
64指的是64个滤波器,每个滤波器都是33的。池化层是取22, 4个当中取最大的(MAX)
代码:https://colab.research.google.com/drive/1tY8u4L1Yl-cHD5au7mccQxYHFhGyy4_s#scrollTo=ja317SIWUiZY