Mencoba Google Colab Pro
Layanan Cloud computing yang versi free yaitu google colab tanpa pro sudah cukup buat coba deep learning yang nggak berat-berat. Namun terkadang kita butuh lebih buat ngitung lebih cepat. Daripada beli sendiri GPU dengan harga 14 jutaan hanya dengan biaya $ 9.9/ 3 bulan akan lebih dari cukup untuk dicoba.
Untuk beli google colab pro, saya sarankan menggunakan Bank Jago buat VCN nya, oiya jangan lupa untuk mengisi ZIP code nya harus diisi ZIP Code USA, agar bisa berhasil. Kalian bisa lihat tutorial https://www.youtube.com/watch?v=bhY06X-iWaA.
Perbedaan ketika menggunakan google colab pro dari segi kecepatan (TPU) lebih cepat 4 kali lipat, artinya jika menggunakan google colab biasa membutuhkan 100 detik maka dengan google colab pro butuh 25 detik saja. Selain itu ketika membutuhkan waktu yang sangat lama maka tidak perlu membuka browser alias akan compute tersendiri untuk itu kalian harus stop secara manual agar tidak habis jatah unit komputasinya.
Tidak seperti google colab free yang dibatasi kalau tidak aktifitas akan terminate
Oiya hal yang perlu kalian ingat bahwa jangan lupa untuk selalui saving checkpoint. Berikut salah satu contoh untuk simpan model dan hasil loss tiap epoch.
if(epoch%10)==0: #akan simpan checkpoint if(os.path.exists(folder)==False): os.mkdir(folder) torch.save({ 'epoch': epoch, 'model_state_dict': model.state_dict(), 'optimizer_state_dict': optimizer.state_dict(), 'loss': loss.item(), },folder+'/model.pt') #simpan juga lost np.savetxt(folder+'/loss.csv',np.array(loss_list), delimiter=',')
dan ketika run untuk dikemudian hari, tidak perlu run dari awal hanya cukup loading checkpoint yang telah disimpan
if os.path.exists(folder+'/model.pt'): print("menggunakan sesi pelatihan") checkpoint = torch.load(folder+'/model.pt') model.load_state_dict(checkpoint['model_state_dict']) optimizer.load_state_dict(checkpoint['optimizer_state_dict']) epoch_current = checkpoint['epoch'] loss = checkpoint['loss'] #baca histori loss sebelumnya loss_list = np.loadtxt(folder+'/loss.csv') loss_list = loss_list.tolist() epoch_current = epoch_current+1 print("epoch_current ",epoch_current)
Contoh menggunakan google colab free membutuhkan wwaktu 74 detik
0%| | 1/500 [01:14<10:18:20, 74.35s/it]epoch: 1 loss: 0.7924414873123169
sedangkan yang google colab pro yaitu 23 detik
1%| | 6/500 [02:36<3:15:42, 23.77s/it]epoch: 6 loss: 0.22718480229377747
Akses File di Google Colab
Untuk mengakses file di google colab cukup mudah kok, kita butuh import library google.colab
from google.colab import drive drive.mount('/content/drive')
nah setelah itu, kita ubah saja work directory nya, misalkan lokasi yang ingin kita tuju di google drive yaitu training/Challenge-3-ForTrain
import os print(os.getcwd()) os.chdir('drive/My Drive/training/Challenge-3-ForTrain/') print(os.getcwd())
hasilnya
/content /content/drive/My Drive/training/Challenge-3-ForTrain
setelah itu bebas deh cara akses file nya!