用Kersa搭建神經網路 MNIST手寫資料集

2022-06-25 22:18:15 字數 1856 閱讀 4879

mnist手寫資料集的識別算得上是深度學習的」hello world「了,所以想要入門必須得掌握。新手入門可以考慮使用keras框架達到快速實現的目的。

完整**如下:

#

1. 導入庫和模組

from keras.models import

sequential

from keras.layers import

conv2d, maxpool2d

from keras.layers import

dense, flatten

from keras.utils import

to_categorical

#2. 載入資料

from keras.datasets import

mnist

(x_train, y_train), (x_test, y_test) =mnist.load_data()

#3. 資料預處理

img_x, img_y = 28, 28x_train = x_train.reshape(x_train.shape[0], img_x, img_y, 1)

x_test = x_test.reshape(x_test.shape[0], img_x, img_y, 1)

#資料標準化

x_train = x_train.astype('

float32')

x_test = x_test.astype('

float32')

x_train /= 255x_test /= 255

#一位有效編碼

y_train = to_categorical(y_train, 10)

y_test = to_categorical(y_test, 10)

#4. 定義模型結構

model =sequential()

model.add(conv2d(32, kernel_size=(5,5), activation='

relu

', input_shape=(img_x, img_y, 1)))

model.add(maxpool2d(pool_size=(2,2), strides=(2,2)))

model.add(conv2d(64, kernel_size=(5,5), activation='

relu'))

model.add(maxpool2d(pool_size=(2,2), strides=(2,2)))

model.add(flatten())

model.add(dense(1000, activation='

relu'))

model.add(dense(10, activation='

softmax'))

#5. 編譯,宣告損失函式和優化器

model.compile(optimizer='

adam

',loss='

categorical_crossentropy

',metrics=['

accuracy'])

#6. 訓練

model.fit(x_train, y_train, batch_size=128, epochs=10)

#7. 評估模型

score =model.evaluate(x_test, y_test)

print('

acc', score[1])

執行結果如下:

可以看出準確率達到了99%,說明神經網路在影象識別上具有巨大的優勢。

Python keras神經網路識別mnist

上次用matlab寫過乙個識別mnist的神經網路,位址在 這次又用keras做了乙個差不多的,畢竟,現在最流行的專案都是python做的,我也跟一下潮流 資料是從本地解析好的影象和標籤載入的。神經網路有兩個隱含層,都有512個節點。import numpy as np from keras.pre...

Python keras神經網路識別mnist

上次用matlab寫過乙個識別mnist的神經網路,位址在 這次又用keras做了乙個差不多的,畢竟,現在最流行的專案都是python做的,我也跟一下潮流 資料是從本地解析好的影象和標籤載入的。神經網路有兩個隱含層,都有512個節點。import numpy as np from keras.pre...

Python keras神經網路識別mnist

上次用matlab寫過乙個識別mnist的神經網路,位址在 這次又用keras做了乙個差不多的,畢竟,現在最流行的專案都是python做的,我也跟一下潮流 資料是從本地解析好的影象和標籤載入的。神經網路有兩個隱含層,都有512個節點。import numpy as np from keras.pre...