Google ColabユーザーのためのTipsトップ10:Google Colaboratory入門
Colabをもっと便利に活用するためのTips(スクラッチパッド、RAM増量ランタイムなど)を紹介する。
本稿は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を最大限に活用する」)というセッション動画の前半に含まれている内容そのままである。スクリーンキャプチャーは全てこのセッション動画から引用したものである。
Colab Tipsトップ10
ちなみに筆者はColabを使い倒しているので、ほとんど知っていたが、5位と3位の機能は知らなかった。皆さんは全ての機能を知っているだろうか?
10位:TensorFlowバージョンの指定
現状ではColabノートブックにデフォルトでインポートされるTensorFlowバージョンは2.xである。
しかしTensorFlowの古いバージョンである1.xを使いたい場合もあるだろう。その場合は%tensorflow_version 1.xマジックコマンドを最初に実行して、明示的にバージョン1.xを指定すればよい。
このように、他のTensorFlowバージョンに明示的に切り替えたい場合は、%tensorflow_version 1.xの1.xを2.xなどと記述するだけである。
9位:Colab内でTensorBoardの活用
基本的にTensorBoardツールは、(学習結果の可視化などが行えるダッシュボードを)HTMLでレンダリングできる。この利点を生かして、Colabの出力セルにも出力できるように対応している。お勧めとのこと。
8位:TensorFlow Lite? 問題なし!
TensorFlow Liteは、モバイル端末上で実行できるTensorFlowである。そのTensorFlow LiteのモデルをColab上でトレーニングして、それをモバイル端末にデプロイして使うことは、問題なく可能である。実際これは人気があるやり方、とのことだ。
7位:TPUの活用
Colab上ではCPUだけでなくTPU/GPUも無料だ。しかもドロップダウンから選択するだけで、とても簡単にランタイムのタイプ(CPU)をTPU/GPUに変更できる。
6位:ローカルランタイムの利用(オプション機能)
必要であればローカル環境(ローカル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スクラッチパッド
Colabで新規にノートブックを作ると、「Untitled1.ipynb」などの名前が付けられてGoogleドライブに自動的に保存される。しかし「仮」でノートブックを新規に作ってPythonコードを書いて実行し、使い終わったらわざわざGoogleドライブを開いて(自動作成された)「Untitled1.ipynb」を手作業で消す、ということはよくあるのではないだろうか(※少なくとも筆者の場合はよくある)。ここでもし消し忘れると、「Untitled2.ipynb」「Untitled3.ipynb」と増えていってしまう。
そういう人にはこの機能が役立つ。下記のURLにアクセスすると、「scratchpad」というタイトルの、Googleドライブに自動的に保存されない特殊なColabノートブックが作成される。
ちょっとしたコードを試して捨てるといった「はぎ取り式メモ帳」(スクラッチパッド)的な使い方をする際にお勧めだ。
4位:ColabのVMにデータをコピー
外部ストレージ上のデータを呼び出すよりも、いったん(例えばモデルを訓練する前に)ColabのVM上にデータをコピー&保存して、それを呼び出すようにした方がよい。こうすることで、たとえ1回しかデータを使わないケースでさえも、スピードアップが期待できる。
3位:メモリに注意
Copyright© Digital Advantage Corp. All Rights Reserved.