ブラウザ上でGPUを使ったPython開発ができるGoogle Colaboratoryを使ってみます。ここでは知識ゼロから始められるようにGoogle Colabの概要から説明し、PyTorchによる機械学習を行うための環境構築を行います。
こんにちは。wat(@watlablog)です。ここではGoogle ColaboratoryにPyTorchをインストールして環境構築と動作確認をする方法を紹介します!
本記事の対象者
Google Colabを初めて使う初心者
本記事はGoogle Colaboratory (通称Google Colab)という単語を聞いて、なんとなく何ができるかは知っているけど使った事がない初心者の方を対象としています。
というのも、この記事を書いた筆者自身が書籍のコラムを参考にしながら全くの初見で始めています。以下の書籍を参考にしましたが、使い勝手を考えてアレンジしています。
Google Colabって何ができるのか、調べた内容を備忘録として残しておくという意味合いで記事を書いています。
Google Colabで機械学習をしたい人
僕は趣味でPythonを使っていますが、通常のPython開発であればクラウド環境でコーディングするよりも、IDEを使って自分のPCで開発をする方が好きです。
ただし、機械学習のプログラム、特にディープラーニングの計算をしようと思ったら個人用のPCではメモリが足りなくなってしまいます。
ここでは先々にディープラーニングプログラムを作る事を念頭に、まずは環境設定を終わらせます。同じように機械学習をしたい人にとって参考となれば良いかなと思っています。
Google ColabでPyTorchを使いたい人
Google Colabにプリインストールされているライブラリの中にTensorFlowがあります。
個人的には先にPyTorchで学習をしていたので、ディープラーニングのフレームワークにはPyTorchを使いたいと思います。
そのためこのページはGoogle ColabでPyTorchを使いたい人向けに環境設定の説明をします。
本記事の目標
環境設定を行いPyTorchが動く事を確認する
この記事ではGoogle Colabを1から使うための環境設定(Colaboratoryの作成やGoogleドライブとの連携)を行い、PyTorchが使える所までを目標とします。
具体的には、
- Google Colaboratoryの作成
- PyTorchのインストール
- GPUの設定
- PyTorchのテンソル演算
- Googleドライブへのファイル保存テスト
を行なっていきます。
Google Colabの概要
環境構築不要でWebブラウザからPythonが実行できる
Google Colabとは、環境構築がほとんど不要なWebブラウザベースのPython実行環境です。
公式からは以下のYouTube動画が公開されていますので、是非ご覧ください。
動画内にも紹介がありますが、ブラウザでコードを実行できるだけではありません。Markdown形式でテキスト説明を残したり、数式を綺麗に書いたりが可能です。
公式ではホスト型のJupyter Notebookという紹介がされています。
GPUやTPUが使える
Google Colabでは無料でGPUやTPUを利用する事ができます。
GPU(Graphics Processing Unit)は画像処理が得意なプロセッサですが、これは行列計算が得意である事を意味するため、行列計算を多用するディープラーニングはGPUと相性が良く重宝されています。
またTPU(Tensor Processing Unit)はGPUよりもさらに行列計算に特化したGoogleが開発している機械学習用プロセッサです。
この二つを使いこなすのはプログラミングスキルも必要となりますが、無料で利用できるのは大きいです。
個人でワークステーションを購入する手もありますが、劣化もするし維持費もかかるし、そもそも初期投資が100万円を超えたり…庶民には厳しい現状です。機械学習を本格的にやる時はGoogle Colabの力を借りましょう。
Google Driveと連携できる
Googleドライブとは、Googleが提供しているクラウドストレージの事です。初期の15[GB]は無料で使う事ができ、さらにGoogle Colabと連携してデータのやりとりをする事ができます。
本記事ではGoogleドライブとの接続確認まで行います。
注意点
無料版は90分と12時間ルールがある
Google Colabは無料で使えますが、90分ルールと12時間ルールという制約があります。
90分ルールとは、PCが90分間アイドル状態(何も触っていない状態)となった時にランタイムリセットが発生してPython実行環境が初期化されるルールの事です。
アップロードしたファイルやpip installしたパッケージがなくなってしまうので、結構イタいと思います。PCをアイドル状態にしないように対策を打っておく必要がありそうです(ブラウザのオートリフレッシュとか、スリープ機能停止とか)。
12時間ルールとは、先ほどの90分ルールに加えて12時間経つとランタイムリセットがかかる仕様の事です。
機械学習は長い時間トレーニングをさせる事が多く想定されますが、たとえ学習中でも12時間経過するとそれまでの苦労が水の泡となってしまいます。
これは12時間経つ前にしっかりとモデルの保存を行うといった対策が必要と考えられます。
有料版のColab Proも提供されている
月額¥1,072(2021年11月現在)のColab Proにすると12時間ルールが24時間ルールになり、より高速なGPUとより多くのメモリを使えるようになるとの事です。
また、月額¥5,243(2021年11月現在)のColab Pro+であればさらに計算リソースを多く使え、バックグラウンド実行にも対応するとの事。
本格的に使う場合は考えてもよさそうですが、僕はまだ良いかなという感覚です。
Google Colab環境構築方法
GoogleドライブにColaboratoryをインストールする
環境構築はGoogleドライブから行います。以下のURLにアクセスし、ドライブに移動します。
Googleドライブ: https://www.google.com/intl/ja_jp/drive/
Googleアカウントがない場合は作成する必要があります。
続いて新規をクリックします。
その他→アプリの追加と進み、検索窓にColaboratoryを入力して出てきたColaboratoryのアイコンをクリックします。
インストールをクリックします。
Colaboratoryを開く
再びGoogleドライブのトップページから新規をクリックし、追加されたGoogle Colaboratoryを選択します。
この操作でGoogle Colaboratoryのページが開きます。
ファイル名を変更する
初期ファイル名はUntitled0になっています。任意で名称を変更する事が可能です(ここではHellWorld.ipynbにしました)。
Hello Worldしてみる
ColaboratoryでHello Worldしてみましょう。コード入力欄にprint文を入力し、▷ボタンをクリックして実行、テキストが表示される事が確認できれば動作確認はOKです。
Pythonのバージョンを確認する
コード入力欄の先頭にエクスクラメーションマーク「!」を付ける事でコマンドプロンプトやターミナルのコマンドを実行する事ができます。
今後ライブラリの依存関係で迷う事のないよう、以下の文でPythonのバージョンを確認する方法を覚えておきましょう。
1 |
!python --version |
GPU設定をする
本記事ではGPUを使うコードをまだ扱いませんが、
ランタイム→ランタイムのタイプを変更によりGPU設定をする事ができます。
プルダウンよりGPU(TPUも)を設定する事ができます。
但し、GPUを使用しないコードの場合は「警告:GPUランタイムに接続していますが、GPUを使用していません。」という警告文が出るので、実際に使う時まではデフォルトのランタイム設定で問題ないでしょう。
PyTorchをインストールする
ColaboratoryにPyTorchをインストールするには、まずpipコマンドを生成する必要があります。
以下の公式ページからGoogle Colabの環境(Linux)に適したコマンドを生成し、Colabのコード蘭に貼り付け実行する事でインストールする事が可能です(先頭に「!」を付ける事を忘れずに)。
PyTorch公式ページ:https://pytorch.org/get-started/locally/
何も考えずpip installしたけど、インストール途中でtorch 1.10.0+cu111がアンインストールされ、指定したcu113をインストールしていました。もしかして最新のColabは既にtorch入っていた?
PyTorchの動作確認
import torchして以下のコードを実行してみましょう。tensor()が表示されたら、PyTorchが利用できる状態にある証拠です。
1 2 3 |
import torch x = torch.rand(5, 3) x |
PyTorchの準備は以上です。
Googleドライブと連携する
次に、データストレージであるGoogleドライブと連携する方法を紹介します。
Colaboratoryの画面で、ファイルをクリックします。
ドライブをマウントをクリックし、Googleドライブに接続をクリックします。
途中アカウント選択があるかもしれません。
テキストファイルを作成して検証する
マウントしたドライブがちゃんと使えるか確認します。
ドライブのパスは調べたいフォルダを右クリックし、パスをコピーする事で知る事ができます。
ここではwith構文で書いたファイル書き込みコードを実行し、ColabolatoryからGoogleドライブへファイルの書き込みができるか確認してみました。
コードは以下。
1 2 |
with open('/content/drive/MyDrive/sample.txt', 'w') as f: print('Hello World!', file=f) |
sample.txtに「Hello World!」が記載されていればGoogleドライブとの連携確認は問題ありません。
まとめ
この記事ではGoogle Colaboratoryを初めて使う筆者が、とりあえずPyTorchでテンソルを生成するまでを行いました。
おまけでGoogleドライブとの連携もやってみましたが、さすがGoogleファミリーというだけあって特に難しい事は何一つなかったです。
今後はGoogle Colabでないと厳しいCNN系の機械学習にも手を出していきたいと思っています(理解して使うにはかなりの時間がかかりそうですが)。
ついにGoogle Colabを使い出しました!これでディープラーニングが捗りそうです!
Twitterでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!