Caffe Deep Learning Framework
Saya cukup jabarkan beberapa keuntungan menggunakan Caffe,
- Instalasi mudah. Saya sangat familiar dengan Linux dan pengembang Caffe pada saat itu juga menggunakan Linux, sehingga bugs yang timbul sangat minim dan instalasi cukup mudah karena saya telah familiar dengan lingkungan OS Linux.
- Perancangan klasifier mudah. Yang Anda butuhkan adalah mengubah file prototxt, yaitu file dengan format google protobuf (format penulisan kurang lebih mirip dengan JSON) dan klasifier siap untuk digunakan.
- Tools cukup lengkap. Tools yang tersedia dalam standard Caffe framework sangat cukup untuk melakukan penilitian, terutama untuk penelitian tentang klasifikasi (pengenalan) citra. Untuk melakukan training (pelatihan), yang diperlukan hanya konversi data ke format yang didukung (LMDB atau LEVELDB) dan training siap dilakukan dengan menggunakan command line saja (tanpa coding sedikit pun).
- Interface ke python dan C++. Interface ke python dan C++ merupakan salah keuntungan yang banyak saya gunakan. Meskipun saya lebih banyak menggunakan python untuk melakukan interface dengan Caffe, tetapi dalam beberapa kesempatan dan implementasi akhir produk, C++ merupakan bahasa pemrograman yang akan dipilih.
Tidak fair rasanya jika kelemahan dari Caffe juga dijabarkan,
- Beberapa fitur neural network tidak tersedia. Dalam versi awalnya, Caffe hanya mendukung fasilitas neural network yang digunakan untuk citra saja. Fitur untuk data, seperti teks dan korpus, tidak tersedia, sehingga para peneliti harus mengembangkan sendiri fitur yang dibutuhkan. Seiring dengan perkembangannya, fitur-fitur custom yang dikembangkan juga dapat ditemukan di situs repository, seperti github.com.
- LMDB dan LEVELDB. Pengubahan training data ke format LMDB atau LEVELDB merupakan salah satu cara yang digunakan Caffe untuk mereduksi I/O cost dalam membaca data. LMDB dan LEVELDB memang terkenal sangat cepat dalam melakukan pembacaan dari harddisk, tetapi juga sangat boros memori (^_^) dan akan menambah storage harddisk (karena ada dua data dengan format berbeda, data training mentah dan data training LMDB atau LEVELDB). Dalam beberapa kesempatan saya juga mengembangkan sendiri fitur untuk membaca data custom, tetapi hasil akhirnya adalah I/O deadlock, yaitu ketika waktu untuk membaca data lebih lama daripada mengeksekusi data tersebut untuk training.
- Dokumentasi tidak terlalu lengkap. Untuk masalah dokumentasi, Caffe mempunyai dokumentasi cukup lengkap yang dapat dibuat dengan menggunakan aplikasi doxygen. Hanya saja dokumentasi tersebut bersifat seadanya dan para pengguna lebih mengandalkan forum dan situs-situs pertanyaan seperti stackoverflow.com.
Untuk perbandingan fitur pada saat ini, Caffe telah kalah dengan beberapa framework yang dikembangkan oleh perusahaan besar, seperti Caffe2 (Facebook), TensorFlow(Google), dan CNTK (Microsoft). Untuk lebih lengkap tentang perbandingan fitur deep learning framework dapat dilihat di halaman wikipedia berikut: https://en.wikipedia.org/wiki/Comparison_of_deep_learning_software
Komentar
Posting Komentar