Pengaruh CPU dan GPU dalam Implementasi Algoritma Deep Learning (YOLO)

Haiqal Muhamad Alfarisi
3 min readApr 21, 2020

Halo teman-teman semua. Artikel ini dibuat saat situasi masih pandemi akibat virus Corona yang menjangkit semua negara di dunia tak terkecuali Indonesia. Aku ingin melanjutkan lagi nih pembahasan kita sebelumnya, kalau awalnya aku udah bahas perbedaan mendasar tentang AI, ML, Neural Network dan Deep Learning, aku juga sudah menjelaskan framework YOLO beserta algoritma YOLO itu sendiri. Sekarang aku ingin membahas salah satu fitur ‘wajib’ yang harus dimasukkan saat menjalankan algoritma deep learning.

Graphical Processing Unit (GPU) adalah prosessor yang bertugas secara khusus untuk mengolah tampilan grafik. Saat ini terdapat banyak sekali perusahaan-perusahaan yang bekerja dan membuat graphic card yaitu seperti Intel, Matrox, AMD dan yang paling terkenal yaitu NVIDIA. NVIDIA sendiri kini merupakan tolak ukur kecanggihan teknologi grafis. Walaupun NVIDIA lebih berfokus dalam membuat graphics card untuk game, tapi kartu grafis tersebut bisa digunakan untuk program keuangan dan tentunya Deep Learning[1].

CUDA adalah platform komputasi parallel dan model pemrograman yang dikembangkan oleh NVIDIA untuk komputasi umum pada GPU. Dengan CUDA, developers dapat secara dramatis mempercepat aplikasi komputasi dengan memanfaatkan kekuatan dari GPU. Saat menggunakan CUDA, developers dapat membuat program dalam Bahasa pemrograman popular seperti C, C++, Fortran, Python dan MATLAB dan mengekspresikan paralelisme melalui ekstensi dalam bentuk beberapa kata kunci dasar. CUDA Toolkit dari NVIDIA menyediakan semua yang dibutuhkan untuk mengembangkan aplikasi dengan kinerja GPU. CUDA Toolkit mencakup library, sebuah compiler, alat pengembangan dan runtime CUDA[2]. Setiap framework deep learning seperti Darknet, Dakflow, TensorFlow, PyTorch dll, sudah tersedia pemakaian GPU sehingga para ilmuwan dan peneliti dapat menjadi produktif dalam hitungan menit dengan pemrograman GPU.

Salah satu library yang digunakan CUDA untuk proses deep learning adalah cuDNN. cuDNN menyediakan implementasi untuk proses deep learning yang umum seperti forward dan backward convolution, pooling, normalisasi dan activation layers. Jika developers ingin menggunakan GPU, maka wajib menginstall dan mengimplementasikan CUDA dan cuDNN sebagai library untuk deep learning. Versi terakhir cuDNN sampai artikel ini ditulis adalah versi 7.6, dengan versi terbaru ini pemrosesan menjadi 300x lebih cepat untuk men-training dataset dan memproses gambar per detik.

NVIDIA CUDA Deep Neural Network

YOLO (You Only Look Once) merupakan salah satu arsitektur deep learning dan algoritma object detection yang didukung kinerja GPU. Penggunaan YOLO dengan GPU digunakan untuk memecahkan permasalahan yang jauh lebih kompleks dan membutuhkan kemampuan komputasi yang advanced. Semakin kompleks permasalahan maka spesifikasi hardware yang diperlukan juga semakin tinggi. Dengan menggunakan graphics processing unit untuk YOLO, maka kecepatan komputasi akan bertambah drastis tergantung dari spesifikasi dan kualitas GPUnya. Salah satu perbedaan mendasar dalam YOLO jika menggunakan CPU dan GPU adalah frame rate yang dihasilkan, biasanya dalam menggunakan CPU hanya menghasilkan frame rate sekitar 1–5 fps sedangkan dengan menggunakan GPU bisa menghasilkan frame rate 20–40 fps. Alasan lain mengapa harus menggunakan NVIDIA CUDA adalah YOLO sampai sekarang ini hanya didukung oleh GPU dengan merk NVIDIA, tidak bisa dijalankan dengan dengan merk seperti Radeon maupun AMD.

Jadi seperti pengaruh yang sangat besar penggunaan dari GPU dalam pemrosesan algoritma deep learning. Buat teman-teman yang ingin membuat sebuah aplikasi atau project image processing, masih bisa jika menggunakan CPU, tetapi jika aplikasi atau project tersebut berupa video processing, sangat disarankan untuk menggunakan GPU dari NVIDIA. Semoga artikel ini bermanfaat dan dapat dijadikan sebagai pertimbangan teman-teman untuk memulai project deep learning.

Full Stories :

  1. Mengenal Perbedaan Artificial Intelligence, Machine Learning, Neural Network & Deep Learning
  2. Mengenal Perbedaan Artificial Intelligence, Machine Learning, Neural Network & Deep Learning (Part 2)
  3. Mengenal Perbedaan Artificial Intelligence, Machine Learning, Neural Network & Deep Learning (Part 3)
  4. Darknet atau Darkflow, Dua Framework Algoritma Deep Learning YOLO
  5. You Only Look Once (YOLO) Algoritma Deep Learning Object Detection Terbaik.
  6. Pengaruh CPU dan GPU dalam Implementasi Algoritma Deep Learning (YOLO).
  7. Implementasi Deep Learning YOLO dalam Mendeteksi Objek Gambar, Webcam dan Video.
  8. YOLOv4 : Teknologi Terbaru dalam Perkembangan Algoritma Object Detection
  9. Mengenal MSCOCO Dataset dalam Penerapan di Algoritma Object Detection YOLO
  10. Mempersiapkan dan Melatih Dataset untuk Mendeteksi Custom Object dengan YOLOv4 (Part 1)
  11. Mempersiapkan dan Melatih Dataset untuk Mendeteksi Custom Object dengan YOLOv4 (Part 2)
  12. Perhitungan Deteksi Object pada Gambar dan Video dengan YOLOv4 (Counting Objects)
  13. Deteksi Masker (Face Mask Detection) dengan YOLOv4 dan Darknet
  14. Klasifikasi dan Perhitungan Kendaraan dengan Algoritma Deep Learning YOLOv4 dan Darknet.

Sumber :

  1. Shubham Shinde, Ashwin Kothari, Vikram Gupta. YOLO based Human Action Recognition and Localization. 2018
  2. Junyan Lu, Chi Ma, Li, Li, Xiaoyan Xing, Yong Zhang, Zhigang Wang, Jiuwei Xu. A Vehicle Detection Method for Aerial Image Based on YOLO. 2018

--

--

Haiqal Muhamad Alfarisi

System Analyst at FIFGROUP. I am a graduate of Gunadarma University who is interested in machine learning and deep learning.