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. Install Colab

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.

Create New Notebook

Maka tampilan awal dari Notebook kita adalah seperti berikut

Create New Notebook

Ada baiknya kita berikan nama notebook kita dengan cara double klik pada area Untitled0.ipnyb lalu tuliskan nama notebook seperti berikut

Rename Notebook

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.

Setup GPU

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

Basic Data Type Numpy

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.

Google Verification

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.

Google Verification Code

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

Google Verification Result

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.

Training MNIST Code

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

Download Titanic Dataset

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

Download Titanic Dataset

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

Cloning Repo

Dan direktori kode sumber repository tersebut sudah tersimpan di Google Drive dan berkas notebook dapat dijalankan langsung dari Google Drive

Directory Repo

Jalankan notebook dari direktori repository dengan cara klik kanan pada berkas notebook Open with > Colaboratory.

Open Notebook

Jalankan kode pada notebook dengan cara klik menu Runtime > Run all atau dengan shortcut Ctrl+F9 beberapa outpunya akan seperti berikut

Running MNIST

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()

GPU usage

Melihat spesifikasi GPU yang digunakan Google Colab

from tensorflow.python.client import device_lib
device_lib.list_local_devices()

GPU spec

Melihat spesifikasi Memory RAM

!cat /proc/meminfo

RAM spec

Melihat spesifikasi CPU

!cat /proc/cpuinfo

CPU spec

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 :