Modul ini tidak akan membahas landasan teori dari CNN, namun langsung ke praktek dengan menggunakan Google Colab.
Untuk introduksi CNN lihat di https://skillplus.web.id/pengenalan-convolutional-neural-network-cnn/
CNN atau Convolutional Neural Network, umum digunakan untuk image recognition, misal face recognition, object detection atau image classification.
Pada modul ini kita akan membuat CNN untuk melakukan image classification.
Data yang digunakan adalah CIFAR-10, dimana model akan dilatih untuk mengenali object dengan class airplane, automobile, bird, cat, deer, dog, frog, horse, ship dan truck.

Spesifikasi CIFAR-10 dataset adalah terdiri dari 60000 32×32 colour images dengan 10 classes, dengan 6000 images per class. Dibagi menjadi 50000 training images dan 10000 test images.
Dataset dibagi kedalam 5 batches untuk training dan 1 batch untuk test, setiap batch berisi 10000 images.
Test batch terdiri dari 1000 image yang dipilih secara acak dari masing-masing class .
Training batches terdiri images dengan urutan acak, namum beberapa training batches dapat memiliki image dengan class tertentu lebih banyak dibandingkan class image lainnya. Secara keseluruhan, training batches memiliki 5000 images untuk masing masing class.
Pada bagian pertama kita akan melakukan persiapan yaitu import library dan data preparation.
Import library yang digunakan
import tensorflow as tf import matplotlib.pyplot as plt from tensorflow.keras.datasets import cifar10 %matplotlib inline
Data preparation dan load data set.
Kita definisikan dahulu class dari dataset image yang digunakan.
# Setting class names in the dataset class_names = ['airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'] #load dataset (X_train, y_train), (X_test, y_test) = cifar10.load_data()
Image Normalization
Seperti yang sudah dibahas pada modul ANN, normalization berguna untuk mempercepat proses training. Disini digunakan metode pembagian dengan nilai max.
X_train = X_train / 255.0 X_test = X_test / 255.0
TIPS memeriksa shape dari data dan visualisasi image untuk memastikan data yang diload sudah benar.
#untuk melihat bentuk dari data X_train.shape
(50000, 32, 32, 3)
Dari shape diatas dapat diketahui terdapa 50000 train dataset, dengan masing-masing gambar berukuran 32 x 32 pixel. Karena ini image color, maka memiliki 3 channel warna (RGB).
Untuk melihat salah satu image, gunakan perintah imshow dari library matplotlib.
plt.imshow(X_test[10])