MAIX GO: AIOT Board

Di jaman Artificial Intelligence (AI) dan Internert of Things (IOT), ada beberapa perusahaan yang berusaha menggabungkan keduanya menjadi AIOT (Artificial Intelligence of Things). Salah satunya adalah Sipeed dari China. Perusahaan ini mengembangkan teknologinya berdasarkan instruction set RISC-V (baca: Risk Five) yang sifatnya terbuka. Jika saat ini Intel dan ARM masih menguasai dunia, di masa depan ada kemungkinan RISC-V yang akan jaya.

Sipeed sudah membuat cukup banyak produk, baik chip SOC dengan neural accelerator maupun board-board pendukungnya. Salah satu produk mereka adalah MAIX GO. MAIX GO ini memakai SOC Kendryte K210 dengan instruction set RISC-V 64 Bit dan memiliki accelerator untuk Fast Fourier Transform dan CNN (Convolutional Neural Network). Dengan adanya accelerator tersebut, SOC ini sangat cocok untuk memproses gambar dan suara. Menurut dokumentasinya, jika ukuran model kita kecil (<5.9 Mb fixed point 8-16 bit) maka pemrosesan image real time bisa dilakukan (~30 fps).

Lanjutkan membaca “MAIX GO: AIOT Board”

Kesan Pertama Nvidia Jetson Nano

Posting ini merupakan review awal Jetson Nano. Sebuah single boad computer dari Nvidia dengan built in GPU. Sejak bulan Maret lalu saya memesan (preorder) Jetson Nano ketika diumumkan. Sayangnya ada masalah dengan fulfillment-nya sehingga baru dikirim akhir April dan sampai beberapa hari yang lalu. Sebagai permintaan maaf karena masalah tersebut SeeedStudio memberikan Micro SD Card 16 GB dan adaptor 5V 2.5 A gratis.

Jetson Nano adalah development board dari Nvidia yang relatif murah (99 USD). Memang ini lebih mahal dari board lain seperti Raspberry Pi, tapi board ini sudah memiliki GPU built in (128-Core Maxwell GPU). Sebagai informasi sebelumnya Nvidia sudah merilis beberapa board seri Jetson lain dengan GPU tapi harganya sampai ratusan USD.

Hal penting yang perlu diperhatikan: micro SD 16 GB tidak akan cukup. Untuk sistem minimum saja memang cukup, tapi ketika sudah mendownload dan mengcompile beberapa library, spacenya tidak cukup lagi. Saran saya minimal pakailah SD Card 32 GB.

Lanjutkan membaca “Kesan Pertama Nvidia Jetson Nano”

Machine Learning dan Deep Learning Specialization (Coursera)

Awal tahun ini (8 Januari) saya iseng mulai ikut Machine Learning di Coursera. Setelah dua minggu ternyata saya masih semangat, jadi saya memutuskan untuk membayar, tujuan utamanya bukan supaya dapat sertifikat, tapi supaya semangat karena sudah bayar 79 USD.

Di tengah kesibukan saya selama Januari-Februari (nemu banyak bug), saya bisa menyelesaikan Course ini pada 23 Februari. Saya mengerjakan semua kuis dan tugas programming dengan Octave. Materinya dari sangat low level sekali, dari mulai linear regression sampai mengimplementasikan neural network (forward dan back propagation) dengan perkalian matriks.

Materi Machine Learning ini memang tidak membahas deep learning, jadi saya penasaran ingin belajar topik itu. Saya jadi ingat dengan blog senior saya Pak Benny Prijono (indoml.com). Pak Benny sudah mengikuti dan mereview banyak course dan membuat banyak catatan yang sangat rapi. Setelah membaca semua reviewnya, sepertinya yang menarik berikutnya adalah deep learning specialization dari pengajar yang sama.

Pengajar Machine Learning (Andrew Ng) memang enak cara penjelasannya. Dan beliau juga yang mengajar materi spesialisasi deep learning. Cara berbicaranya menurut saya agak terlalu lambat (saya terbiasa dengan kecepatan Bu Inge), tapi untungnya player video coursera mendukung percepatan video hingga 2x kecepatan normal (saya memakai kecepatan 1.50-1.75x tergantung materinya).

Kanan bawah adalah Andrew Ng, pengajar materi Machine Learning dan Deep Learning

Spesialisasi Deep Learning terdiri dari 5 Course. Review lengkapnya dalam bahasa Indonesia bisa dilihat di indoml.com, daftar 5 mata kuliahnya adalah:

Biayanya 49 USD/bulan sampai selesai. Kalau bisa selesai sebelum sebulan seperti saya, bisa hanya bayar 49 USD saja. Ada juga trial gratis 7 hari jika belum yakin apakah ingin mendapatkan sertifikat atau tidak. Untuk saya sendiri kemungkinan besar sertifikat ini tidak akan saya pakai, tapi tanpa membayar kita tidak bisa mengakses kuis dan tugas pemrogramannya.

Lanjutkan membaca “Machine Learning dan Deep Learning Specialization (Coursera)”

GPU Raspberry Pi

Salah satu kelebihan Raspberry Pi (RPI) dibandingkan Single Board Computer (SBC) lain adalah: harganya relatif murah dan memiliki GPU yang terdokumentasi resmi dan bisa dimanfaatkan dengan berbagai API low level. Beberapa SBC lain ada yang harganya lebih murah (misalnya Orange Pi) tapi dokumentasinya kurang, dan beberapa yang lain lebih powerful (misalnya NVidia Jetson) dengan dokumentasi yang cukup baik dari produsen (tapi masih kurang dari komunitas) tapi harganya 10x lipat dari RPi 3.

GPU Raspberry Pi cukup powerful, dan bisa melakukan beberapa hal menarik misalnya: tunelling dari kamera (dengan konektor CSI) langsung ke layar, colorspace conversion, video/image encoding and decoding,  resizing, dan overlay. Kita juga bisa meminta agar data dari kamera langsung dijadikan texture untuk OpenGL ES.

Secara praktis tunnelling artinya satu komponen ke komponen lain bisa bekerja langsung tanpa buffer. Contoh nyatanya begini: kita bisa membuat aplikasi yang kelihatan smooth karena data dari kamera tampil langsung di layar dengan kecepatan tinggi (30 fps) tanpa memakai CPU sama sekali. Sementara di latar belakang kita bisa mengambil gambar, memproses (misalnya face detection) dan menampilkan hasilnya.

Proses ini membypass windowing system, jadi bisa jalan bahkan tanpa X Window (mode teks sekalipun).

Video dari kamera bisa ditampilkan di mode teks

Fitur texture OpenGL ES artinya kita bisa menampilkan gambar kamera atau video (dari file atau jaringan) langsung di permukaan  misalnya kubus atau teko. Selain itu kita bisa menggunakan pixel shader untuk memproses data tanpa memakai CPU, contohnya membuat filter kamera secara real time, atau bahkan melakukan preprocessing untuk algoritma machine learning. Data yang sudah diproses bisa dibaca dan diproses lebih lanjut di CPU dengan glReadPixels. Lanjutkan membaca “GPU Raspberry Pi”