連載
» 2021年05月31日 05時00分 公開

Google ColabユーザーのためのTipsトップ10Google Colaboratory入門

Colabをもっと便利に活用するためのTips(スクラッチパッド、RAM増量ランタイムなど)を紹介する。

[一色政彦,デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Google Colaboratory入門」のインデックス

連載目次

本稿は2021年5月31日最新状況に合わせて改訂しました。2020年3月17日に公開した初稿では、Colab Proも紹介していましたが、カットしました。後日、Colab Proの解説記事を公開する予定です。


 本稿ではGoogle Colab(以下、Colab)を使う際に役立つTipsをスクリーンキャプチャ中心で紹介する。このTipsは、「Making the most of Colab (TF Dev Summit '20)」(図1、「Colabを最大限に活用する」)というセッション動画の前半に含まれている内容そのままである。スクリーンキャプチャーは全てこのセッション動画から引用したものである。

図1 セッション動画のタイトルと登壇者のTim Novikoff氏 図1 セッション動画のタイトルと登壇者のTim Novikoff氏

Colab Tipsトップ10

図2 TensorFlowユーザーのためのColab Tipsトップ10 図2 TensorFlowユーザーのためのColab Tipsトップ10

 ちなみに筆者はColabを使い倒しているので、ほとんど知っていたが、5位と3位の機能は知らなかった。皆さんは全ての機能を知っているだろうか?

10位:TensorFlowバージョンの指定

図3 TensorFlowバージョンの指定 図3 TensorFlowバージョンの指定

 現状ではColabノートブックにデフォルトでインポートされるTensorFlowバージョンは2.xである。

 しかしTensorFlowの古いバージョンである1.xを使いたい場合もあるだろう。その場合は%tensorflow_version 1.xマジックコマンドを最初に実行して、明示的にバージョン1.xを指定すればよい。

 このように、他のTensorFlowバージョンに明示的に切り替えたい場合は、%tensorflow_version 1.x1.x2.xなどと記述するだけである。

9位:Colab内でTensorBoardの活用

図4 Colab内でTensorBoardの活用 図4 Colab内でTensorBoardの活用

 基本的にTensorBoardツールは、(学習結果の可視化などが行えるダッシュボードを)HTMLでレンダリングできる。この利点を生かして、Colabの出力セルにも出力できるように対応している。お勧めとのこと。

8位:TensorFlow Lite? 問題なし!

図5 TensorFlow Lite? 問題なし! 図5 TensorFlow Lite? 問題なし!

 TensorFlow Liteは、モバイル端末上で実行できるTensorFlowである。そのTensorFlow LiteのモデルをColab上でトレーニングして、それをモバイル端末にデプロイして使うことは、問題なく可能である。実際これは人気があるやり方、とのことだ。

7位:TPUの活用

図6 TPUの活用 図6 TPUの活用

 Colab上ではCPUだけでなくTPU/GPUも無料だ。しかもドロップダウンから選択するだけで、とても簡単にランタイムのタイプ(CPU)をTPU/GPUに変更できる。

6位:ローカルランタイムの利用(オプション機能)

図7 ローカルランタイムの利用(オプション機能) 図7 ローカルランタイムの利用(オプション機能)

 必要であればローカル環境(ローカルPCやワークステーション、リモートサーバーなど)のランタイム(特にGPU)を使うことも可能だ。機械学習のためのランタイムにはローカルにある強力なハードウェアを使って、ユーザー操作のためのUIにはオンラインのColabを使う、ということである。これも簡単にできる。

 筆者注記:ただし、欠点もある。ローカル環境にはJupyter Notebookをインストールする必要があり、各種ライブラリもローカル環境に自分で用意しなければならない。そのため「すぐに利用できる」というColabのメリットは消えてしまう。あくまで「ColabのUIや使い勝手が、Jupyter Notebookよりも好きだ」という人が活用すべき機能である。

 筆者追記:セッション動画では説明されていないが、オンラインのColabにローカルにあるVisual Studio CodeからSSH接続することも可能である(公式サポートされる機能ではないので筆者はお勧めしないがTipsの一つとして紹介)。これはngrokなどのツールをインストールしてオンラインのColab環境をSSH接続できる状態にすることで可能になる。準備も必要なため手間がかかるという欠点もあるが、Visual Studio Codeの機能を使い倒したい人には魅力的だろう。colab-sshというツールもあるので気になる人はWeb検索などで情報を探してみてほしい。

5位:Colabスクラッチパッド

図8 Colabスクラッチパッド 図8 Colabスクラッチパッド

 Colabで新規にノートブックを作ると、「Untitled1.ipynb」などの名前が付けられてGoogleドライブに自動的に保存される。しかし「仮」でノートブックを新規に作ってPythonコードを書いて実行し、使い終わったらわざわざGoogleドライブを開いて(自動作成された)「Untitled1.ipynb」を手作業で消す、ということはよくあるのではないだろうか(少なくとも筆者の場合はよくある)。ここでもし消し忘れると、「Untitled2.ipynb」「Untitled3.ipynb」と増えていってしまう。

 そういう人にはこの機能が役立つ。下記のURLにアクセスすると、「scratchpad」というタイトルの、Googleドライブに自動的に保存されない特殊なColabノートブックが作成される。

 ちょっとしたコードを試して捨てるといった「はぎ取り式メモ帳」(スクラッチパッド)的な使い方をする際にお勧めだ。

4位:ColabのVMにデータをコピー

図9 ColabのVMにデータをコピー 図9 ColabのVMにデータをコピー

 外部ストレージ上のデータを呼び出すよりも、いったん(例えばモデルを訓練する前に)ColabのVM上にデータをコピー&保存して、それを呼び出すようにした方がよい。こうすることで、たとえ1回しかデータを使わないケースでさえも、スピードアップが期待できる。

3位:メモリに注意

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。