Keras【Deep Learning With Python】手写数字识别

文章目录

  • 1 Keras实现
  • 2 优化

1 Keras实现

import keras.datasets.mnist as mnist
import matplotlib.pyplot as plt
import keras
from keras import layers

(train_image,train_label),(test_image,test_label)=mnist.load_data()
print(train_image.shape)
plt.imshow(train_image[0])
plt.show()

model=keras.Sequential()
model.add(layers.Flatten()) #(60000,28,28)--->(60000,28*28)
model.add(layers.Dense(64,activation='relu'))
model.add(layers.Dense(10,activation='softmax'))

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

model.fit(train_image,train_label,epochs=50,batch_size=512)

2 优化

import keras.datasets.mnist as mnist
import matplotlib.pyplot as plt
import keras
from keras import layers
import numpy as np

(train_image,train_label),(test_image,test_label)=mnist.load_data()
print(train_image.shape)
plt.imshow(train_image[0])
plt.show()

model=keras.Sequential()
model.add(layers.Flatten()) #(60000,28,28)--->(60000,28*28)
model.add(layers.Dense(64,activation='relu'))
model.add(layers.Dense(64,activation='relu'))
model.add(layers.Dense(64,activation='relu'))
model.add(layers.Dense(10,activation='softmax'))

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

model.fit(train_image,train_label,epochs=50,batch_size=512,validation_data=(test_image,test_label))

print(model.evaluate(test_image,test_label))
print(model.evaluate(train_image,train_label))
print(np.argmax(model.predict(test_image[:10]),axis=1))
print(test_label[:10])


你可能感兴趣的:(#,Keras)