1. 程式人生 > >用keras 和 tensorflow 構建手寫字識別神經網路

用keras 和 tensorflow 構建手寫字識別神經網路

#匯入資料
import numpy as np
import tensorflow as tf
import matplotlib.pyplot as plt
from keras.datasets import mnist

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
print(train_images.shape)
print(train_images.dtype)
print(train_labels.shape)

print(test_images.shape)
print
(test_labels.shape) #影象轉換 train_images = train_images.reshape((60000, 28*28)) train_images = train_images.astype('float32')/255 test_images = test_images.reshape((10000, 28*28)) test_images = test_images.astype('float32')/ 255 #構建網路 from keras import models from keras import layers network = models.Sequential() network.add(layers.Dense(
512, activation = 'relu', input_shape = (28*28, ))) network.add(layers.Dense(10, activation = 'softmax')) network.compile(optimizer = 'rmsprop', loss = 'categorical_crossentropy', metrics = ['accuracy']) #準備標籤 from keras.utils import to_categorical train_labels = to_categorical(train_labels) test_labels
= to_categorical(test_labels) #模型擬合 network.fit(train_images, train_labels, epochs=5, batch_size = 128) #測試模型 test_loss, test_acc = network.evaluate(test_images, test_labels) print('test_acc:', test_acc)