搜尋
首頁科技週邊IT業界KERAS的初學者指南:30分鐘內數字識別

>本文詳細介紹了使用卷積神經網絡(CNN)和MNIST數據集構建用於手寫數字識別的KERAS模型。 讓我們重新提示它以清晰並改善流程。

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

>用keras 構建手寫數字識別器

>本教程演示了創建一個模型,使用Python的Keras庫識別手寫數字,這是一種簡化建築和培訓神經網絡的高級API。我們將利用卷積神經網絡(CNN)和廣泛使用的MNIST數據集的力量。

理解方法

我們的模型採用CNN,這是一種特別有效的圖像分類體系結構。與傳統的神經網絡不同,CNNS在3D陣列(X,Y坐標和顏色)中處理數據,使其非常適合圖像數據。 MNIST數據集包含60,000個培訓和10,000個手寫數字的測試示例,為培訓提供了必要的標籤數據。

>人工神經網絡(ANN)和CNNS > ANN是一個數學模型,通過隱藏的圖層將輸入數據轉換為輸出,每個層代表概率。 培訓涉及根據錯誤調整權重和偏見,從而使網絡學習模式。 CNNS為圖像處理提供了重要的優勢。它們的3D陣列結構意味著每個隱藏層節點僅連接到一個小輸入區域,與傳統ANN相比,效率大大提高。 關鍵CNN層包括卷積層(特徵提取),合併層(功能降低),變平層(降低維度)和最終分類層。

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

與MNIST數據集一起

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes >

> MNIST數據集可在Keras中可用。 我們使用

加載培訓和測試數據。 可視化樣品數字有助於理解數據結構:

mnist.load_data()

訓練和測試集的尺寸(60000、28、28)和(10000、28、28),指示28x28像素圖像。
from keras.datasets import mnist
import matplotlib.pyplot as plt

(x_train, y_train), (x_test, y_test) = mnist.load_data()
image_index = 35
plt.imshow(x_train[image_index], cmap='Greys')
plt.show()

數據預處理A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

在創建模型之前,數據需要預處理:

  1. 重塑:圖像被重塑為(m x n x 1)格式,使用.reshape()>。
  2. 歸一化:像素值(0-255)通過除以255將其標準化為0-1。
  3. >
  4. 一個hot編碼:>使用y_train>使用y_test將因變量(to_categorical()
  5. )轉換為二進制類矩陣,以兼容模型的輸出。
from keras.datasets import mnist
import matplotlib.pyplot as plt

(x_train, y_train), (x_test, y_test) = mnist.load_data()
image_index = 35
plt.imshow(x_train[image_index], cmap='Greys')
plt.show()

型號設計和訓練

>

我們的CNN模型是依次構建的:

  1. 卷積層:>從輸入圖像中提取特徵。
  2. 池層:降低維度和計算成本。
  3. 輟學層:防止過度擬合。 >
  4. 扁平層:>將多維輸出轉換為1D陣列。
  5. 密集層:
  6. 執行最終分類。
  7. >使用
損失(用於整數標籤),Adam Optimizer和準確度作為度量標准進行編譯。 使用
img_rows, img_cols = 28, 28
x_train = x_train.reshape(x_train.shape[0], img_rows, img_cols, 1) / 255
x_test = x_test.reshape(x_test.shape[0], img_rows, img_cols, 1) / 255
y_train = to_categorical(y_train, num_classes=10)
y_test = to_categorical(y_test, num_classes=10)
進行訓練,指定時期和批量尺寸。訓練有素的模型可保存以供以後使用。

> sparse_categorical_crossentropy 使用自定義圖像進行測試.fit()

from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPooling2D

model = Sequential([
    Conv2D(32, (3, 3), activation='relu', input_shape=(img_rows, img_cols, 1)),
    Conv2D(64, (3, 3), activation='relu'),
    MaxPooling2D((2, 2)),
    Dropout(0.25),
    Flatten(),
    Dense(128, activation='relu'),
    Dropout(0.5),
    Dense(10, activation='softmax') # 10 output classes (digits 0-9)
])

為了測試模型,我們加載自定義手寫數字圖像,預處理(轉換為灰度,重塑,歸一化),加載保存的模型並使用>進行分類。

>

.predict()

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(x_train, y_train, batch_size=128, epochs=10, validation_data=(x_test, y_test))
model.save("test_model.h5")

A Beginner's Guide to Keras: Digit Recognition in 30 Minutes 結論

本教程提供了對使用Keras和CNN構建手寫數字識別模型的基本理解。 儘管實現高精度(例如,> 99%),但通過模型參數調整,數據增強和探索更高級的CNN體​​系結構進行了進一步的改進。 提供的常見問題解答提供了對所涉及概念的進一步見解。

以上是KERAS的初學者指南:30分鐘內數字識別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
21個開發人員新聞通訊將在2025年訂閱21個開發人員新聞通訊將在2025年訂閱Apr 24, 2025 am 08:28 AM

與這些頂級開發人員新聞通訊有關最新技術趨勢的了解! 這個精選的清單為每個人提供了一些東西,從AI愛好者到經驗豐富的後端和前端開發人員。 選擇您的收藏夾並節省時間搜索REL

使用AWS ECS和LAMBDA的無服務器圖像處理管道使用AWS ECS和LAMBDA的無服務器圖像處理管道Apr 18, 2025 am 08:28 AM

該教程通過使用AWS服務來指導您通過構建無服務器圖像處理管道。 我們將創建一個部署在ECS Fargate群集上的next.js前端,與API網關,Lambda函數,S3桶和DynamoDB進行交互。 Th

CNCF ARM64飛行員:影響和見解CNCF ARM64飛行員:影響和見解Apr 15, 2025 am 08:27 AM

該試點程序是CNCF(雲本機計算基礎),安培計算,Equinix金屬和驅動的合作,簡化了CNCF GitHub項目的ARM64 CI/CD。 該計劃解決了安全問題和績效

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境