Google ColabでPyTorch開発環境を構築する方法

  • このエントリーをはてなブックマークに追加

ブラウザ上でGPUを使ったPython開発ができるGoogle Colaboratoryを使ってみます。ここでは知識ゼロから始められるようにGoogle Colabの概要から説明し、PyTorchによる機械学習を行うための環境構築を行います。

こんにちは。wat(@watlablog)です。ここではGoogle ColaboratoryにPyTorchをインストールして環境構築と動作確認をする方法を紹介します

本記事の対象者

Google Colabを初めて使う初心者

本記事はGoogle Colaboratory (通称Google Colab)という単語を聞いて、なんとなく何ができるかは知っているけど使った事がない初心者の方を対象としています。

というのも、この記事を書いた筆者自身が書籍のコラムを参考にしながら全くの初見で始めています。以下の書籍を参考にしましたが、使い勝手を考えてアレンジしています。

本書はPyTorchの基本から深層学習モデルの作成、そしてアプリケーション作成まで網羅した書籍です。具体的には、PyTorchの基本から始まり、最尤推定と線形モデル、多層パーセプトロンについて解説します。その後、画像処理と畳み込みニューラルネット、自然言語処理と再帰型ニューラルネットを扱います。また、推薦システムやWebAPIの作成、アプリケーションのデプロイについても解説します。さらに付録では、TensorBoardによる可視化、Colaboratoryの利用方法などを解説しています。

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では無料でGPUTPUを利用する事ができます。

GPUGraphics Processing Unit)は画像処理が得意なプロセッサですが、これは行列計算が得意である事を意味するため、行列計算を多用するディープラーニングはGPUと相性が良く重宝されています。

またTPUTensor 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ドライブにアクセス

Googleアカウントがない場合は作成する必要があります。

続いて新規をクリックします。

Colabの新規追加1

その他アプリの追加と進み、検索窓にColaboratoryを入力して出てきたColaboratoryのアイコンをクリックします。

Colabの新規追加2

インストールをクリックします。

Colabの新規追加3

Colaboratoryを開く

再びGoogleドライブのトップページから新規をクリックし、追加されたGoogle Colaboratoryを選択します。

Colaboratoryを開く

この操作でGoogle Colaboratoryのページが開きます。

ファイル名を変更する

初期ファイル名はUntitled0になっています。任意で名称を変更する事が可能です(ここではHellWorld.ipynbにしました)。

Colaboratoryのタイトル

Hello Worldしてみる

ColaboratoryでHello Worldしてみましょう。コード入力欄にprint文を入力し、▷ボタンをクリックして実行、テキストが表示される事が確認できれば動作確認はOKです。

Hello World!してみる

Pythonのバージョンを確認する

コード入力欄の先頭にエクスクラメーションマーク「!」を付ける事でコマンドプロンプトやターミナルのコマンドを実行する事ができます。

今後ライブラリの依存関係で迷う事のないよう、以下の文でPythonのバージョンを確認する方法を覚えておきましょう。

Pythonのバージョンを確認する

GPU設定をする

本記事ではGPUを使うコードをまだ扱いませんが、
ランタイムランタイムのタイプを変更によりGPU設定をする事ができます。

GPUの設定1

プルダウンよりGPU(TPUも)を設定する事ができます。

GPUの設定2

但し、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が利用できる状態にある証拠です。

PyTorchの動作確認

PyTorchの準備は以上です。

Googleドライブと連携する

次に、データストレージであるGoogleドライブと連携する方法を紹介します。

Colaboratoryの画面で、ファイルをクリックします。

Googleドライブと連携1

ドライブをマウントをクリックし、Googleドライブに接続をクリックします。
途中アカウント選択があるかもしれません。

Googleドライブと連携2

テキストファイルを作成して検証する

マウントしたドライブがちゃんと使えるか確認します。

ドライブのパスは調べたいフォルダを右クリックし、パスをコピーする事で知る事ができます。

ここではwith構文で書いたファイル書き込みコードを実行し、ColabolatoryからGoogleドライブへファイルの書き込みができるか確認してみました。

テキスト作成のコード

コードは以下。

sample.txtに「Hello World!」が記載されていればGoogleドライブとの連携確認は問題ありません。

まとめ

この記事ではGoogle Colaboratoryを初めて使う筆者が、とりあえずPyTorchでテンソルを生成するまでを行いました。

おまけでGoogleドライブとの連携もやってみましたが、さすがGoogleファミリーというだけあって特に難しい事は何一つなかったです。

今後はGoogle Colabでないと厳しいCNN系の機械学習にも手を出していきたいと思っています(理解して使うにはかなりの時間がかかりそうですが)。

ついにGoogle Colabを使い出しました!これでディープラーニングが捗りそうです!
Twitterでも関連情報をつぶやいているので、wat(@watlablog)のフォローお待ちしています!

SNSでもご購読できます。

コメントを残す

*