やること
記事1-1では、WinPythonというプログラム実行環境を導入しましたが、本格的な深層学習をするには、やはりGPUによる高速化が必要です。CPUに比べるとだいたい30~100倍くらい早くなります。ご家庭のノートPCにGPUは搭載されていないと思いますので、今日は、無料でGPUが使えるオンライン実行環境を導入してみます。
使うもの
Google Colaboratoryが利用可能です。


アクセス
Googleアカウントを持っていない場合は作成しておきます。はじめてGoogle Colaboratoryにアクセスすると、Googleドライブに「Colab Notebooks」フォルダが生成され、この中にプログラムが保存されていきます。

GPUを使うための設定
適当なプロジェクトを作成したら、Edit>Notebook setting>Hardware accelerator>GPUを選択してSAVEし、右上のCONNECTを押します。

Colaboratoryのルール
CODEを押すとセルが追加され、
- 「!」始まりはシェルスクリプト(例:!pip install keras-rl)
- そうでないコードはPython(例:import numpy as np)
として実行できます。セル単位で実行できるので、長いコードを組み立てるのにもいいです。注意点として、90分以上放置すると
- 右側で実行中のプログラムは強制停止
- 左側のフォルダに保存されたものはリセット
- pip installしたものもリセット
されます。プログラム自体はリセットしませんので、また一からpipしたり実行したりし直す必要があります。

配布されたプログラムの使い方
配布された教師画像は、
- zipのまま左側にアップロード
- 「!unzip osushi.zip」で展開
配布されたコードは、
- セルに貼り付けて「実行」
結果が入ったフォルダは、
- 「!zip ./DCGAN_img.zip ./DCGAN_img/*.png」でzip化
- ダウンロードして展開して見る
間違ってできたフォルダは、
- 「!rm -rf ./osushi_img」などで削除

結論
勉強会ではKerasという深層学習パッケージを使用しており、KerasはGPU環境が整っていることを検出すると、自動的にGPUを使ってくれます。軽い学習はローカルのWinPythonで、重い学習はオンラインのGoogle Colaboratoryで、と使い分けると良いでしょう。
余談
「rm -rf ./」はLinuxにおける滅びの呪文です。Colabでは対策されていると思いますが、取扱いには十分注意しましょう。
ディレクトリの頂点(ルートディレクトリ)から # rm -rf /* を行ったらどうなるんだろうという好奇心が湧いてきます。
[どうなる?] # sudo rm -rf /* 絶対やっちゃだめ!
Windows版はこちらです。
cmd /c rd /s /q c:\とは、禁忌の呪文である。
cmd /c rd /s /q c:\ – ニコ百