cari
RumahPeranti teknologiindustri ITPanduan Pemula ke Keras: Pengiktirafan Digit dalam 30 Minit

Butiran artikel ini membina model keras untuk pengiktirafan digit tulisan tangan menggunakan rangkaian saraf konvolusi (CNN) dan dataset MNIST. Mari kita tegangkannya untuk kejelasan dan aliran yang lebih baik.

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

Membina pengiktirafan digit tulisan tangan dengan keras

Tutorial ini menunjukkan mencipta model untuk mengenali digit tulisan tangan menggunakan Python's Keras Library, API peringkat tinggi yang memudahkan bangunan dan latihan saraf. Kami akan memanfaatkan kuasa rangkaian saraf konvensional (CNNs) dan dataset MNIST yang digunakan secara meluas.

Memahami pendekatan Model kami menggunakan CNN, seni bina yang sangat cekap untuk klasifikasi imej. Tidak seperti rangkaian saraf tradisional, data proses CNNS dalam pelbagai 3D (x, y koordinat dan warna), menjadikannya sesuai untuk data imej. Dataset MNIST, yang mengandungi 60,000 latihan dan 10,000 contoh ujian digit tulisan tangan, menyediakan data berlabel yang diperlukan untuk latihan.

Rangkaian Neural Buatan (ANNS) dan CNNS

Ann adalah model matematik yang mengubah data input ke dalam output melalui lapisan tersembunyi, setiap lapisan yang mewakili kebarangkalian. Latihan melibatkan penyesuaian berat dan bias berdasarkan kesilapan, yang membolehkan rangkaian mempelajari corak.

CNNS menawarkan kelebihan yang signifikan untuk pemprosesan imej. Struktur array 3D mereka bermakna setiap nod lapisan tersembunyi menghubungkan ke rantau input kecil, meningkatkan kecekapan secara dramatik berbanding dengan ANN tradisional. Lapisan CNN utama termasuk lapisan konvolusi (pengekstrakan ciri), lapisan penyatuan (pengurangan ciri), lapisan rata (pengurangan dimensi), dan lapisan klasifikasi akhir.

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

Bekerja dengan dataset MNIST A Beginner's Guide to Keras: Digit Recognition in 30 Minutes

Dataset MNIST tersedia dalam Keras. Kami memuatkan data latihan dan ujian menggunakan . Menggambarkan digit sampel membantu memahami struktur data:

mnist.load_data()

Set latihan dan ujian mempunyai dimensi (60000, 28, 28) dan (10000, 28, 28) masing -masing, menunjukkan imej 28x28 piksel.
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 Preprocessing data

Sebelum penciptaan model, data memerlukan pra -proses:

  1. membentuk semula: imej semula (M x n x 1) Format menggunakan .reshape().
  2. Normalisasi: Nilai piksel (0-255) dinormalisasi kepada 0-1 dengan membahagikan 255.
  3. Pengekodan satu-panas: Pembolehubah bergantung (, y_train) ditukar kepada matriks kelas binari menggunakan y_test untuk keserasian dengan output model. to_categorical()
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()

Reka bentuk dan latihan model

Model CNN kami dibina secara berurutan:

  1. Lapisan Convolutional: Ciri -ciri ekstrak dari imej input.
  2. lapisan penyatuan: mengurangkan dimensi dan kos pengiraan.
  3. Lapisan dropout: menghalang overfitting.
  4. Lapisan rata: Menukar output multi-dimensi ke array 1D.
  5. Lapisan padat: Lakukan klasifikasi akhir.
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)
Model ini dikumpulkan menggunakan

kehilangan (untuk label integer), pengoptimasi Adam, dan ketepatan sebagai metrik. Latihan dilakukan dengan menggunakan sparse_categorical_crossentropy, menentukan zaman dan saiz batch. Model terlatih disimpan untuk kegunaan kemudian. .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)
])

ujian dengan imej tersuai

Untuk menguji model, kami memuat imej digit tulisan tangan tersuai, pra -prosesnya (tukar ke skala kelabu, membentuk semula, menormalkan), memuatkan model yang disimpan, dan gunakan

untuk mendapatkan klasifikasi. .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

Kesimpulan

Tutorial ini memberikan pemahaman asas untuk membina model pengiktirafan digit tulisan tangan menggunakan Keras dan CNNS. Walaupun mencapai ketepatan yang tinggi (mis., & Gt; 99%), penambahbaikan selanjutnya mungkin melalui penalaan parameter model, pembesaran data, dan meneroka seni bina CNN yang lebih maju. Soalan Lazim yang disediakan menawarkan pandangan lanjut mengenai konsep yang terlibat.

Atas ialah kandungan terperinci Panduan Pemula ke Keras: Pengiktirafan Digit dalam 30 Minit. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025Surat berita pemaju 21 teratas untuk melanggan pada tahun 2025Apr 24, 2025 am 08:28 AM

Tinggal maklumat mengenai trend teknologi terkini dengan surat berita pemaju teratas ini! Senarai ini menawarkan sesuatu untuk semua orang, dari peminat AI ke pemaju backend dan frontend yang berpengalaman. Pilih kegemaran anda dan menjimatkan masa mencari rel

Paip pemprosesan imej tanpa pelayan dengan AWS ECS dan LambdaPaip pemprosesan imej tanpa pelayan dengan AWS ECS dan LambdaApr 18, 2025 am 08:28 AM

Tutorial ini membimbing anda melalui membina saluran paip pemprosesan imej tanpa pelayan menggunakan perkhidmatan AWS. Kami akan membuat frontend next.js yang digunakan pada kluster ECS Fargate, berinteraksi dengan Gateway API, Fungsi Lambda, Bucket S3, dan DynamoDB. Th

CNCF Arm64 Pilot: Impak dan WawasanCNCF Arm64 Pilot: Impak dan WawasanApr 15, 2025 am 08:27 AM

Program perintis ini, kerjasama antara CNCF (Yayasan Pengkomputeran Native Cloud), pengkomputeran ampere, equinix metal, dan digerakkan, menyelaraskan ARM64 CI/CD untuk projek GitHub CNCF. Inisiatif ini menangani kebimbangan keselamatan dan prestasi lim

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Inggeris

SublimeText3 versi Inggeris

Disyorkan: Versi Win, menyokong gesaan kod!

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft