0Pricing
Python Academy · Pelajaran

Proyek Klasifikasi Gambar

Membangun model CNN dasar

Proyek Klasifikasi Gambar adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 5. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 5 pelajaran total.

Proyek Klasifikasi Gambar

Proyek Klasifikasi Gambar

Dalam proyek ini, kami akan membangun CNN sederhana untuk mengklasifikasikan gambar ke dalam beberapa kategori. Klasifikasi gambar mencakup prediksi kategori atau label dari gambar masukan.

Proyek Klasifikasi Gambar — ilustrasi 1

Kumpulan Data untuk Klasifikasi

Kumpulan Data untuk Klasifikasi

Kami akan menggunakan kumpulan data CIFAR-10, yang terdiri atas 60.000 gambar dalam 10 kategori, seperti pesawat terbang, mobil, burung, dan kucing. Setiap gambar berukuran 32×32 piksel dan memiliki 3 kanal warna (RGB).

Memuat Kumpulan Data

Memuat Kumpulan Data

Kami akan memuat kumpulan data CIFAR-10 menggunakan TensorFlow:

import tensorflow as tf
from tensorflow.keras.datasets import cifar10

# Load dataset
(x_train, y_train), (x_test, y_test) = cifar10.load_data()

# Normalize the pixel values to [0, 1]
x_train = x_train / 255.0
x_test = x_test / 255.0

print("Training data shape:", x_train.shape)

Membangun Model CNN

Membangun Model CNN

Kami akan menentukan arsitektur CNN dengan lapisan konvolusi, pengumpulan, dan lapisan yang terhubung penuh:

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

# Define the CNN model
model = Sequential([
    Conv2D(32, (3, 3), activation='relu', input_shape=(32, 32, 3)),
    MaxPooling2D((2, 2)),
    Conv2D(64, (3, 3), activation='relu'),
    MaxPooling2D((2, 2)),
    Flatten(),
    Dense(128, activation='relu'),
    Dense(10, activation='softmax')
])

Mengompilasi Model

Mengompilasi Model

Kami melakukan compile pada model dengan:

  • Fungsi Kerugian: Entropi silang kategoris untuk klasifikasi multi-kelas.
  • Pengoptimal: Pengoptimal Adam untuk pembelajaran yang efisien.
  • Metrik: Akurasi untuk evaluate kinerja.
# Compile the model
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

Melatih Model

Melatih Model

Kami melatih model menggunakan data pelatihan selama 10 putaran. Selama pelatihan, model belajar mengklasifikasikan gambar ke dalam beberapa kategori.

# Train the model
model.fit(x_train, y_train, epochs=10, validation_data=(x_test, y_test))

Mengevaluasi Model

Mengevaluasi Model

Setelah pelatihan, kami mengevaluasi model menggunakan data pengujian untuk memeriksa akurasinya:

# Evaluate the model
loss, accuracy = model.evaluate(x_test, y_test)
print(f"Test Accuracy: {accuracy * 100:.2f}%")

Membuat Prediksi

Membuat Prediksi

Kami dapat menggunakan model yang telah dilatih untuk membuat prediksi pada gambar baru:

# Predict the category of a test image
import numpy as np

sample_image = x_test[0]
sample_label = y_test[0]

prediction = np.argmax(model.predict(sample_image[np.newaxis, ...]))
print(f"Predicted Label: {prediction}, Actual Label: {sample_label[0]}")

Tantangan dalam Klasifikasi Gambar

Tantangan dalam Klasifikasi Gambar

Tantangan yang umum meliputi:

  • Pencocokan Berlebihan: Model bekerja dengan baik pada data pelatihan, tetapi buruk pada data baru.
  • Ketidakseimbangan Kelas: Keterwakilan kategori yang tidak seimbang dalam kumpulan data.
  • Biaya Komputasi: Pelatihan jaringan dalam memerlukan sumber daya yang besar.

Ringkasan dan Langkah Berikutnya

Ringkasan dan Langkah Berikutnya

Dalam proyek ini, kami:

  • Membangun dan melatih CNN untuk klasifikasi gambar menggunakan kumpulan data CIFAR-10.
  • Mempelajari cara memuat, melakukan praproses, dan mengevaluasi kumpulan data.
  • Membahas tantangan dalam tugas klasifikasi gambar.

Selanjutnya, kami akan mempelajari teknik augmentasi data untuk meningkatkan kinerja model dengan menghasilkan variasi gambar pelatihan.

Proyek Klasifikasi Gambar — ilustrasi 10

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Proyek Klasifikasi Gambar” gratis?

Ya — teks lengkap “Proyek Klasifikasi Gambar” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 5 pelajaran total.

Apa yang akan aku pelajari di “Proyek Klasifikasi Gambar”?

Membangun model CNN dasar Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 5.

Berapa lama pelajaran “Proyek Klasifikasi Gambar” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Data Gambar?
  2. Pemrosesan Gambar dengan OpenCV
  3. Jaringan Saraf Konvolusional (CNN)
  4. Proyek Klasifikasi Gambar
  5. Teknik Augmentasi Data
← Kembali ke Python Academy