Deep Learning: Convolutional Neural Networks (aplikasi)

Deep Learning: Convolutional Neural Networks (aplikasi)

Catatan penting : Jika pembaca benar-benar awam tentang apa itu Python, silakan klik artikel saya ini. Jika pembaca awam tentang R, silakan klik artikel ini.

Jika pembaca belum mengerti konsep besarnya deep learning / neural networks, alangkah baiknya baca dulu artikel saya yang membahas tentang konsepnya di link ini.

Dalam materi ini, kita akan membahas tentang aplikasi CNN (convolutional neural networks). Jika pembaca belum tahu teori tentang CNN ada baiknya baca artikel saya yang membahas CNN di link ini.

Jika pembaca ingin menjalankan CNN dengan menggunakan GPU, silakan baca tutorialnya di artikel saya melalui link ini.


Sebelum kita praktek melakukan CNN dengan python, silakan download dulu datasetnya. Perlu diperhatikan bahwa ukuran datasetnya lumayan besar (kurang lebih 200-300 MB), sehingga saya tidak menguploadnya di website saya melainkan di OneDrive dan dapat didownload di link ini.

Kali ini kita akan menyelesaikan permasalahan klasifikasi gambar menggunakan CNN. Kita akan melatih neural networks (NN) kita untuk bisa membedakan mana gambar kucing (cats) dan mana gambar anjing (dogs).

Tentu saja untuk melatih NN, kita sudah siapkan ratusan gambar anjing dan kucing. Kita bagi data ke dalam 2 bagian yaitu training set (untuk melatih NN) dan test set (untuk mengujinya).

Beberapa contoh gambar kucing dan anjing yang kita gunakan di folder dataset tampak sebagai berikut:

Contoh gambar kucing dan anjing di dataset

Setelah mendownload datasetnya di link yang sudah saya berikan di atas, pembaca bisa melihat saya memisahkannya ke dalam 2 folder (training_set dan test_set). Jika pembaca juga ingin menggunakan CNN untuk melakukan teknik klasifikasi gambar, maka cukup buat 2 folder seperti yang saya lakukan.

Dataset yang kita miliki semuanya adalah gambar dengan format jpg. Kita memiliki 4000 gambar kucing dan 4000 gambar anjing untuk training set, dan 1000 gambar kucing dan 1000 gambar anjing untuk test set. Jadi secara ringkas kita memiiki 8000 data untuk training set dan 2000 data untuk test set (komposisi 80:20). Tentunya untuk meningkatkan performanya, semakin banyak gambar untuk di jadikan dataset maka semakin baik.

Berbeda dengan pembelajaran machine learning di bab-bab sebelumnya di mana format datanya biasanya adalah csv dengan struktur berupa tabel, struktur data untuk CNN kali ini sedikit berbeda. Karena datasetnya berupa gambar, maka variabel independen dan dependennya tidak berbentuk kolom dalam tabel.

Untuk bisa melakukan klasifikasi maka semua gambar harus dimasukkan ke dalam folder yang berbeda yaitu folder training_set dan folder test_set. Kemudian di masing-masing folder tersebut kita buat lagi folder cats dan folder dogs. Dengan demikian, ketika algoritma CNN membuka folder training_set dan di dalamnya ada folder cats dan folder dogs, maka ia tahu bahwa ini adalah dependen variabelnya. Dependen variabel di sini yang dimaksud adalah jawaban yang sesungguhnya apakah sebuah gambar masuk ke kategori anjing atau kucing, dengan cukup melihat nama filenya saja. Lalu apa variabel independennya? Variabel independennya adalah pixel yang ada di setiap gambar.

Kemudian nama file di dalam folder cats dan dogs harus diurutkan, misal dalam folder cats kita beri nama file nya menjadi cat1, cat2, dst. Begitu pula untuk dogs menjadi dog1, dog2, dst. Penomoran di belakang namanya (cat1 = cat+1) adalah untuk membedakan file 1 dengan yang lainnya dalam 1 folder.

Kemudian dari penamaan nama itu, kita masukkan ke sebuah algoritma sehingga algoritma ini bisa mengekstrak nama file yang kemudian nanti bisa menggolongkan apakah file ini masuk ke kategori cats atau kategori dogs. Kita akan melakukan semuanya dengan menggunakan library Keras di python.

Baik sekarang mari kita belajar bersama teknik CNN menggunakan bahasa python.

Untuk melanjutkan membaca silakan klik lanjut ke halaman berikutnya di bawah ini:

Bagikan artikel ini:

Pages: 1 2 3

9
Leave a Reply

avatar
4 Comment threads
5 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
3 Comment authors
bramasta vikanaMB HerlambangM. Raihan R.A Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
M. Raihan R.A
Guest
M. Raihan R.A

Padat dan jelas, sungguh mencerahkan sekali, terimakasih pak. Website ini merupakan website yang berisi penjelasan mengenai AI, ML, DL dalam bahasa indonesia yang paling mudah dicerna dan dipahami. Jadi semangat melanjutkan belajarnya, hehe.

bramasta vikana
Guest
bramasta vikana

selamat siang, website ini sangat membantu saya memahami ANN dan saya ingin mencoba melanjutkanya ke CNN namun ada yang saya binung tuk proses import image nya bagaimana caranya ya dan apakah ada github nya? terimakasihh

bramasta vikana
Guest
bramasta vikana

pertanyaan saya bgaiamankah cara cnn nya melakukan test pada halaman ke 3 tanpa menggunakan weight atau model yg telah di training? apakah pada code result = MesinKlasifikasi.predict(test_image) weoght atau model yang digunakan tadi sudah tersimpan? atau pada halam ke 3 ini menjadi 1 dengan training code? terimakasih

bramasta vikana
Guest
bramasta vikana

selamat malam ,terimakasih telah menjawab pertanyaan saya sebelumnya saya ada pertanyaan pada halan 2 terdapat hasil training dengan val_los >1.0 dan dan training loss 1.0 dikatakan overfitt? terimakasih