Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import tensorflow
- from tensorflow.keras.datasets import mnist
- from tensorflow.keras.models import Sequential
- from tensorflow.keras.layers import Dense, Dropout, Flatten
- from tensorflow.keras.layers import Conv2D, MaxPooling2D
- import matplotlib.pyplot as plt
- (trainX, trainY), (testX, testY) = mnist.load_data()
- img_rows, img_cols = 28, 28
- trainX = trainX.reshape(trainX.shape[0], img_rows, img_cols, 1)
- testX = testX.reshape(testX.shape[0], img_rows, img_cols, 1)
- input_shape = (img_rows, img_cols, 1) # 1 karena grayscale, 3 untuk berwarna
- trainX = trainX.astype('float32')
- testX = testX.astype('float32')
- trainX /= 255
- testX /= 255
- trainY = tensorflow.keras.utils.to_categorical(trainY, 10)
- testY = tensorflow.keras.utils.to_categorical(testY, 10)
- model = Sequential()
- model.add(Conv2D(32, kernel_size=(3,3), activation='relu', input_shape = input_shape))
- model.add(Conv2D(64, (3,3), activation = 'relu'))
- model.add(MaxPooling2D(pool_size=(2,2)))
- model.add(Flatten())
- model.add(Dense(128, activation='relu'))
- model.add(Dense(10, activation='softmax'))
- model.compile(loss=tensorflow.keras.losses.categorical_crossentropy, optimizer="adam", metrics=['accuracy'])
- model.fit(trainX, trainY, batch_size=128, epochs=12, verbose=2)
- print (model.summary())
- model.save("mnist.h5")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement