Google Colab Gratis Untuk Belajar Deep Learning
Contents
Google Colaboratory atau disebut juga Colab adalah tools baru yang dikeluarkan oleh Google Internal Research yang dibuat untuk membantu para Researcher dalam mengolah data untuk keperluan belajar maupun bereksperimen pada pengolahan data khususnya bidang Machine Learning, tools ini secara penggunaan mirip seperti Jupyter Notebook dan dibuat diatas envirounment Jupyter yang tidak memerlukan pengaturan atau setup terlebih dahulu sebelum digunakan dan berjalan sepenuhnya pada Cloud dengan memanfaatkan media penyimpanan Google Drive.
Yang menjadi menarik perhatian adalah tools Colab ini menyediakan layanan GPU gratis kepada penggunanya sebagai backend komputasi dan dapat digunakan selama 12 jam pada suatu waktu, menarik bukan? kita tidak perlu mengeluarkan sejumlah uang atau membeli perangkat komputer dengan tambahan GPU jika kita ingin belajar Machine Learning, karena pada praktiknya proses pelatihan (training) pada bidang Machine Learning ini cukup membuat pusing terlebih lagi jika perangkat yang kita miliki kurang memadai dan mungkin akan patah, apalagi jika kita hanya sekedar mencoba.
Dengan Google Colab anda dapat membangun aplikasi berbasis Deep Learning menggunakan pustaka poluler seperti Keras, TensorFlow, PyTorch dan OpenCV.
Pada atikel ini akan membahas penggunaan dasar dari Google Colaboratory, dan jika anda pernah menggunakan Jupyter Notebook pastinya anda sudah tidak asing lagi dengan ini karena pada prinsipnya tools ini sama seperti Jupyter Notebook, hanya perbedaannya Colab berjalan diatas cloud milik Google dan menyimpan berkas kita kedalam Google Drive, perbedaan mendasar lainnya adalah jika pada Jupyter Notebook kita hanya dapat menjalankan syntax Python dan Markdown saja maka di Google Colab ini kita dapat menjalankan command line langsung pada cell notebook dengan diawali tanda !
.
Setup
Install Colab
Untuk dapat menggunakan Google Colab kita perlu menambahkan ekstensi baru ke Google Drive kita dengan cara klik tombol New > More > Connect more apps lalu tuliskan “colab” pada kolom search kemudian klik tombol connect.
Membuat Notebook
Jika Colab sudah terintegrasi dengan Drive kita maka kita siap untuk menggunakannya, pertama kita buat direktori baru terlebih dahulu dengan cara klik tombol New kemudian pilih Folder lalu berikan nama direktori tersebut (misal: Colab
) kemudian buat file Notebook baru dengan cara klik kanan pada area kosong didalam direktori yang baru saja kita buat Klik kanan > More > Colaboratory.
Maka tampilan awal dari Notebook kita adalah seperti berikut
Ada baiknya kita berikan nama notebook kita dengan cara double klik pada area Untitled0.ipnyb
lalu tuliskan nama notebook seperti berikut
Setup GPU
Karena Colab menyediakan GPU gratis untuk penggunanya kita pun dapat memberikan pengaturan pada notebook untuk menggunakan layanan GPU gratis tersebut caranya klik menu Edit > Notebook settings kemudian ubah “Hardware accelerator” menjadi GPU dan kita juga dapat mengubah runtime versi Python pada notebook sedang aktif.
Menjalankan Kode Pertama
Proses setup sudah selesai dan mari kita mencoba beberapa operasi tipe data dasar, berikut potongan kodenya
x = 3
print(type(x)) # Prints "<class 'int'>"
print(x) # Prints "3"
print(x + 1) # Addition; prints "4"
print(x - 1) # Subtraction; prints "2"
print(x * 2) # Multiplication; prints "6"
print(x ** 2) # Exponentiation; prints "9"
x += 1
print(x) # Prints "4"
x *= 2
print(x) # Prints "8"
y = 2.5
print(type(y)) # Prints "<class 'float'>"
print(y, y + 1, y * 2, y ** 2) # Prints "2.5 3.5 5.0 6.25"
Tekan tombol ▶️ dibagian kiri cell untuk menjalankan perintah tersebut atau dapat juga dengan shortcut Ctrl+Enter
Tip!: Tekan Shift+Enter jika ingin menjalankan perintah sekaligus menambah cell dibawahnya
Berikut ini adalah tampilan hasil dari menjalankan perintah diatas
Import File Python
Fitur colab tidak hanya dapat menjalankan perintah pada notebook saja tapi bisa juga menjalankan berkas yang berisikan kode Python (*.py
) yang sudah kita buat sebelumnya, untuk memanfaatkan fitur ini kita perlu menginstal OCaml Fuse
yang digunakan untuk import berkas Python, caranya jalankan perintah dibawah ini pada cell.
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
Berikut ini tampilan hasil dari menjalankan perintah diatas.
Kita perlu memasukkan kode verifikasi akun dengan cara klik link yang muncul pada output kemudian akan dialihkan ke tab baru lalu klik tombol Allow, maka akan muncul kode seperti berikut, salin kodenya lalu masukkan ke kolom Enter verification code pada output cell tadi dan Enter.
Jika muncul peringatan dan link lagi maka lakukan seperti langkah diatas, Klik link > Allow > Salin kode > Masukkkan Kode > Enter, jika proses verifikasi berhasil maka output cell akan seperti berikut
Setelah proses verifikasi berhasil kita perlu melakukan mounting Google Drive ke Notebook agar berkas yang ada bisa diakses langsung, caranya jalankan perintah berikut
!mkdir -p drive
!google-drive-ocamlfuse drive
Instal Keras
!pip install -q keras
Upload kode mnist_cnn.py
kedalam direktori Colab di Google Drive, file tersebut dapat diunduh disini. Kemudian jalankan file mnist_cnn.py
tersebut dengan cara :
!python3 drive/Colab/mnist_cnn.py
Maka proses training mnist menggunakan pustaka Keras akan seperti berikut.
Dataset Titanic (.csv)
Lalu bagaimana jika ingin menggunakan dataset yang kita miliki dan mengoperasikannya? Baiklah mari kita coba menggunakan dataset Titanic dan melakukan beberapa perintah di Notebook. Pertama-tama download dulu datasetnya dengan menjalankan perintah berikut pada cell maka file Titanic.csv
akan otomatis tersimpan pada direktori Colab kita di Google Drive.
!wget https://raw.githubusercontent.com/vincentarelbundock/Rdatasets/master/csv/datasets/Titanic.csv -P drive/Colab
Lalu kita coba tampilkan dataset tersebut menggunakan pustaka Pandas
import pandas as pd
titanic = pd.read_csv("drive/app/Titanic.csv")
titanic.head(5)
Kode diatas akan menampilkan 5 data pertama pada berkas Titanic.csv dan outputnya akan seperti berikut
Cloning Repo Git
Mungkin ada satu kasus dimana kita ingin menggunakan kode dari repository seperti GitHub atau Bitbucket dan kita ingin mencobanya didalam Notebook, maka kita perlu mengkloning kode sumber tersebut kedalam Drive dan mengaksesnya melalui Notebook, ini dapat dilakukan dengan mudah seperti mengkloning repository seperti biasanya, caranya seperti berikut
!git clone https://github.com/imamdigmi/keras-mnist-tutorial.git drive/Colab/keras-mnist-tutorial
Dan direktori kode sumber repository tersebut sudah tersimpan di Google Drive dan berkas notebook dapat dijalankan langsung dari Google Drive
Jalankan notebook dari direktori repository dengan cara klik kanan pada berkas notebook Open with > Colaboratory.
Jalankan kode pada notebook dengan cara klik menu Runtime > Run all atau dengan shortcut Ctrl+F9 beberapa outpunya akan seperti berikut
Tips!
Beberapa tips berikut ini mungkin akan sangat berguna jika anda ingin bermain dan berkolaborasi menggunakan Colab
Restart Colab
Untuk merestart atau memuat ulang notebook bisa melalui menu Runtime > Restart runtime atau dengan shortcut Ctrl+M atau bisa juga dengan perintah berikut
!kill -9 -1
Menggunakan TensorBoard
Jika ingin menjalankan dan menggunakan TensorBoard melalui Colab penulis sangat merekomendasikan untuk menggunakan Colab Utils.
Instal pustaka tambahan
Perintah-perintah berikut ini berguna untuk menginstal pustaka-pustaka pada Colab melalui notebook
Keras
!pip install -q keras
import keras
PyTorch
!pip install -q http://download.pytorch.org/whl/cu75/torch-0.2.0.post3-cp27-cp27mu-manylinux1_x86_64.whl torchvision
import torch
MxNet
!apt install libnvrtc8.0
!pip install mxnet-cu80
import mxnet as mx
OpenCV
!apt-get -qq install -y libsm6 libxext6 && pip install -q -U opencv-python
import cv2
XGBoost
!pip install -q xgboost==0.4a30
import xgboost
GraphViz
!apt-get -qq install -y graphviz && pip install -q pydot
import pydot
7zip Reader
!apt-get -qq install -y libarchive-dev && pip install -q -U libarchive
import libarchive
Pustaka Lain
Untuk menginstal pustaka lain dapat menggunakan pip
!pip install <package_name>
dan juga dapat menggunakan package manager seperti berikut
!apt-get install <package_name>
Bermain dengan GPU
Untuk melihat apakah sedang menggunakan GPU atau tidak dapat menggunakan perintah berikut pada cell
import tensorflow as tf
tf.test.gpu_device_name()
Melihat spesifikasi GPU yang digunakan Google Colab
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
Melihat spesifikasi Memory RAM
!cat /proc/meminfo
Melihat spesifikasi CPU
!cat /proc/cpuinfo
Mengubah direktori kerja
Pada padasarnya ketika menjalankan perintah !ls
kita akan melihat direktori datalab dan drive yang sebenarnya tidak ada di direktori Google Drive kita, maka dari itu kita harus menambahkan drive/<nama_direktori>
sebelum mendefinisikan tiap nama berkas.
Untuk mengatasi masalah ini dapat dengan mudah untuk melakukan ubah direktori kerja (contoh pada artikel ini adalah direktori Colab) dengan menambahkan kode berikut :
import os
os.chdir("drive/Colab")
Kemudian jalankan perintah berikut untuk melihat daftar berkas dan direktori pada direktori kerja kita saat ini
!ls
Troubleshooting
Terkadang, dalam menggunakan Colab kita seringkali menemui masalah yang umum seperti berikut ini
“No backend with GPU available”
Jika anda menemukan error seperti berikut
Failed to assign a backend
No backend with GPU available. Would you like to use a runtime with no accelerator?
Tunggu beberapa saat lalu cobalah kembali, karena masalah tersebut pada dasarnya terjadi karena banyak orang sedang menggunakan GPU dan error diatas mengindikasikan bahwa semua layanan GPU sedang digunakan.
“apt-key output should not be parsed (stdout is not a terminal)”
Jika anda menemukan error seperti berikut ini
Warning: apt-key output should not be parsed (stdout is not a terminal)
Artinya bahwa otentikasi sudah dilakukan sebelumnya, anda hanya perlu melakukan mounting Google Drive dengan cara menjalankan perintah berikut
!mkdir -p drive
!google-drive-ocamlfuse drive
Referensi :