##概要
こんにちは。最近(2020年3月現在)はコロナウイルスの影響で、自粛ムードが漂ってますね。
私自身も念のため、在宅での研究活動に励んでおりますが、さすがにここ1週間にわたりこもりっぱなしなので疲れてきました。
今回は息抜きもかねて、前々から気になっていたGoogle Colaboratoryを使って学習を回してみようと思います。
Google Colaboratoryは、ネット上で使えるSaaS型のnotebookを扱える開発環境の一つで、Google Driveと同期可能な点や、無料でGPUが使用可能な点ですごく便利です。
普段個人で研究されている方は、あまりnotebook形式でのコーディングはメリットを感じない場合が多いと思いますが、コードの共有が頻繁に必要となるチーム単位での開発をされる方には、まさにGoogle Colaboratoryはもってこいなのではないでしょうか。
さて、今回の記事では、Google Colaoratoryの導入から、基本的な使用方法、さらにGoogle Driveのマウント方法と、最後にDCGANを実装して実際にGPUを使った学習手順を紹介していきます。
##Google Colaboratoryの使い方
まずは皆さんお持ちだと思いますが、googleアカウントでログインし、google driveに入ってください。
個人のDriveのページに入ったら、左のタブの「新規」→「その他」→「アプリを追加」をクリックしてください。
以下のような画面がでるので、Colaboratoryで検索してインストールしましょう。
これで準備は完了です。(はやい!)
マイドライブに戻り、右クリックをし、「その他」→「Colaboratory」を選択すると、以下のような画面が立ち上がります。
直感的に操作可能なインタフェースとなっていますので、少しいじってみればすぐ理解できると思います。
左の再生ボタンを押すと、そのセルを実行できます。出力は、そのセルの下に表示されます。
上部の+コード、+テキストは、新しいセルの作成、テキストの挿入をすることができます。上の画像の例では、テキストを挿入してみた例です。markdown形式で記入することができます。
保存する際には、「ファイル」→「保存」から可能です。ドライブ上に保存されます。
##Google Driveのマウント方法(最新版)
いままではスクリプトを実行するなり、いろいろと手間がかかるものだったようですが、現在は簡単にマウント可能です。
左のタブの、ファイルっぽい形をしているところを開くと、「ドライブをマウント」があるので、そこを選択するだけです。マウント時に許可を求められますが、全部yesでOKです。
これでマウントが完了しました。
では、実際にGoogle Driveのファイルをコード上で参照してみましょう。
上記の方法を実行すると、./drive/My Drive上にマイドライブがマウントされます。
以下の画像は、マイドライブ上に置いた"a.png"を読んでprintさせた例です。
##GPUを使った学習例(DCGAN)
このままだと味気ないので、実際にGPUを使って学習をさせてみましょう。
まず、GPUを使用するのには、上のタブの「編集」→「ノートブックの設定」から、「ハードウェアアクセラレータ」のGPUを選択します。
DCGANを実装します。コードはこちらをお借りしました。
上記のサイトのmnistの例を参考にします。
ひとつ注意べきは、保存先のディレクトリです。./drive/My Drive上にマイドライブがマウントされているので、必ず./drive/My Drive内を参照するように引数として渡す必要がありますね。
さて、コードをコピーし、ディレクトリ参照先を変更してから、再生ボタンを押して学習をさせてみます。
学習が進んでいきます。
完了後は、生成画像例が指定したディレクトリ上に保存されます。
##最後に
今回はGoogle Colaboratoryを使い、マウントの手順から、DCGANを実際に学習に用いてみました。
上記のDCGANのコードはConvolution層もあって、結構重たい処理で、スペック低いPCだと厳しいですね。
GPUを使った所感ですが、Nvidia K80が裏で回ってるみたいで、十分早いです。
ノートPC上で、しかも無料で使えると考えると、非常にありがたいですね。外出先などでも学習できそうです。
今後機会があればどんどん活用しようと思います。
##参考文献
https://qiita.com/shoji9x9/items/0ff0f6f603df18d631ab