ゼロから作るディープラーニングをgoogleColaboratory上で動かす
TL;DR
個人的にディープラーニングを勉強しはじめたけどGUIとか高くて使えねえよと思っている貧乏学生です。
ゼロから作るディープラーニングくらいならCUIでも動きますがただでGUI使えるなら使ってしまおうという目論見の備忘録。
Google Colaboratoryとは
1日12時間制限でgoogleが提供してるGPUとTPUを無料で使えてしまう素晴らしいサービス。
Jupyter notebookっぽい形式でPythonのコードが書ける。現状はPython3しか使えないらしい。
詳しくは公式FAQ読んで
実行
1. Google Driveにファイルをアップロード
ゼロから作るディープラーニングを買うと、GithubのURLがついてくるのでgit clone
して自分のPCに落とします。
deep-learning-from-scratchってフォルダをMy Driveにアップロードします。こんな感じ。
Google Colaboratory起動して直接git clone
もできるけどローカルにも欲しかったので。
2. Google Colaboratoryを起動して設定
Google Drive内で右クリック→アプリを追加→google colaboratoryで検索。Python3のノートブックが作れるようになるので作る。
3. 実行環境を整える
まずはGoogle DriveをマウントしてGoogle Drive内のファイルを使えるようにする。
from google.colab import drive
drive.mount('/content/drive')
URLと入力枠が表示される。URLをクリックするとGoogle Driveへのアクセスを許可するかどうかみたいなのを聞かれるので許可すると16進数のコードが出てくる。このコードを入力枠に入れるとマウントされる。
!{command}
でLinuxコマンドが利用できる。しかし、!cd
では作業ディレクトリは変更されないのがめんどう。
なのでosをimportしてカレントディレクトリ変更したけどもっといい方法がないのか。
import os
os.getcwd()
# '/content'
os.chdir('/content/drive/My Drive/deep-learning-from-scratch')
os.getcwd()
# '/content/drive/My Drive/deep-learning-from-scratch'
4. ランタイムを変更
ランタイム→ランタイムのタイプの変更を行うと
こういう画面になるのでハードウェアアクセラレータをGPUに変更する。すでに変更してるけどCPUだとNone typeってなってる。
実際にGUIが動いてるのかを確認する。
import tensorflow as tf
tf.test.gpu_device_name()
# '/device:GPU:0'
5. コードを動かす
two_layer_net.py関連を動かしてみたが無事動いた。早い!(%timeで測ろうかと思ったがめんどくさくなりました)これで勉強が捗る!
追記
numpyはGPUに対応していないので、pytorchのTensorなどを使ってコードは随時
変更しましょう。