Google ColabとPyTorchで深層学習を行う(セッティング編)

はじめに

近年深層学習が流行っているが、手元のPCが非力で学習に時間がかかりすぎるという人のためにオススメのGoogle Colabというサービスと機械学習ライブラリであるPyTorchの使い方を説明します。

  • PyTorch v0.4.0

Google Colabとは

Googleのサービスであり、Jupyter Notebookをブラウザ経由で使用できるというものです。

  • 無料
  • GPUが使用できる
  • ただし時間制限あり(12時間)

といった特徴があります。
GPUとCPUでは学習にかかる時間が10倍差が出るとも言われているので、とてもGoogle Colabは魅力的です。

デモ

https://colab.research.google.com/
Google Colabへ行き、PYTHON3の新しいノートブックを開きましょう。
まずは、GPUを使用するためにヘッダーから
ランタイム > ランタイムのタイプを変更 > ハードウェア アクセラレータ NoneからGPUに変更して保存をします。
これでGPUを使用することができます。

PyTorchのインストール

ランタイムが起動する度に頭が空っぽになるため、毎回インストールしなければなりません。

from os import path
from wheel.pep425tags import get_abbr_impl, get_impl_ver, get_abi_tag
platform = '{}{}-{}'.format(get_abbr_impl(), get_impl_ver(), get_abi_tag())

accelerator = 'cu80' if path.exists('/opt/bin/nvidia-smi') else 'cpu'

!pip install -q http://download.pytorch.org/whl/{accelerator}/torch-0.4.0-{platform}-linux_x86_64.whl torchvision
import torch
print(torch.__version__)
use_gpu = torch.cuda.is_available()
print(use_gpu)

以下のように出力されるとインストールに成功しています。

0.4.0
True

Google Driveをマウント

学習のデータセットは直接アップロードする手段がありますが、時間がかかる上にランタイムの起動ごとに行う必要があるため、おすすめできません。
Google Driveをマウントしておくことで、Google Driveからデータセットを取得・学習結果を保存といったことが可能となります。

from google.colab import drive
drive.mount('/content/gdrive')

上を実行して、Google Driveへのアクセスを許可し、キーをボックスにコピペしてください。
以下が出力されていれば成功です。

Go to this URL in a browser: URL

Enter your authorization code:
··········
Mounted at /content/gdrive

以下を実行すると、Google Driveのホームディレクトリのファイル一覧が出力されるはずです。

!ls /content/gdrive/"My Drive"

ここまでくれば手元の環境と同じようにプログラムを回せます。
Path名には気をつけてください。

おわり

今回はここまでで次回は実際に機械学習をしていきたいと思います。
GPUを持たぬ人にとって、Google Colabは救世主だと思います。ありがとう,Google