Advertisement
hendriawan

day2-02-cnn

Nov 28th, 2022 (edited)
801
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.29 KB | None | 0 0
  1. import tensorflow
  2. from tensorflow.keras.datasets import mnist
  3. from tensorflow.keras.models import Sequential
  4. from tensorflow.keras.layers import Dense, Dropout, Flatten
  5. from tensorflow.keras.layers import Conv2D, MaxPooling2D
  6. import matplotlib.pyplot as plt
  7.  
  8. (trainX, trainY), (testX, testY) = mnist.load_data()
  9.  
  10. img_rows, img_cols = 28, 28
  11.  
  12. trainX = trainX.reshape(trainX.shape[0], img_rows, img_cols, 1)
  13. testX = testX.reshape(testX.shape[0], img_rows, img_cols, 1)
  14. input_shape = (img_rows, img_cols, 1) # 1 karena grayscale, 3 untuk berwarna
  15.  
  16. trainX = trainX.astype('float32')
  17. testX = testX.astype('float32')
  18.  
  19. trainX /= 255
  20. testX /= 255
  21.  
  22. trainY = tensorflow.keras.utils.to_categorical(trainY, 10)
  23. testY = tensorflow.keras.utils.to_categorical(testY, 10)
  24.  
  25. model = Sequential()
  26. model.add(Conv2D(32, kernel_size=(3,3), activation='relu', input_shape = input_shape))
  27. model.add(Conv2D(64, (3,3), activation = 'relu'))
  28. model.add(MaxPooling2D(pool_size=(2,2)))
  29. model.add(Flatten())
  30. model.add(Dense(128, activation='relu'))
  31. model.add(Dense(10, activation='softmax'))
  32.  
  33. model.compile(loss=tensorflow.keras.losses.categorical_crossentropy, optimizer="adam", metrics=['accuracy'])
  34. model.fit(trainX, trainY, batch_size=128, epochs=12, verbose=2)
  35. print (model.summary())
  36. model.save("mnist.h5")
  37.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement