Colaboratory

よくある質問

基本

Colaboratory とは何ですか?

Colaboratory(略称: Colab)は、Google Research が提供するサービスです。Colab では、誰でもブラウザ上で Python を記述、実行できるため、機械学習、データ分析、教育に特に適しています。具体的には、GPU などのコンピューティング リソースに無料でアクセスしながら特別な設定なしにご利用いただけるホスト型の Jupyter Notebook サービスです。

本当に無料で利用できるのですか?

はい。Colab は無料でご利用いただけます。

話がうますぎるように思えます。なにか制限事項があるのではありませんか?

Colab のリソースは保証型ではなく、無制限でもありません。使用量の上限が状況に応じて変動します。これは Colab が無料でリソースを提供するうえで必要です。詳細については、リソース制限をご覧ください。

より豊富なリソースを確実に利用したい場合は、Colab Pro をおすすめします。

Jupyter と Colab は何が違うのですか?

Jupyter は、Colab のベースになっているオープンソース プロジェクトです。Colab では、Jupyter のノートブックを使用したり他のユーザーと共有したりできます。ダウンロード、インストール、実行などの操作は一切不要です。

Colab の使用

作成したノートブックはどこに保存されますか? 他のユーザーと共有できますか?

Colab ノートブックは、Google ドライブに保存することも、GitHub から読み込むこともできます。Colab ノートブックは、Google ドキュメントや Google スプレッドシートと同じように共有できます。Colabo ノートブックの右上にある [共有] ボタンをクリックするか、Google ドライブのファイル共有の手順に沿って共有してください。

ノートブックを共有した場合、何が共有されるのですか?

ノートブックの全コンテンツ(テキスト、コード、出力、コメント)が共有されます。保存、共有の対象からコードセルの出力を除外するには、[編集] > [ノートブックの設定] > [このノートブックを保存する際にコードセルの出力を除外する] を使用します。使用している仮想マシンは、設定済みのカスタム ファイル、カスタム ライブラリを含め、共有されません。そのため、ノートブックで必要なカスタム ライブラリまたはカスタム ファイルのインストールと読み込みを行うセルについては、保存対象から除外しないことをおすすめします。

Jupyter や IPython の既存のノートブックを Colab にインポートすることはできますか?

はい、できます。[ファイル] メニューの [ノートブックをアップロード] を選択してください。

Colab ノートブックを検索する方法はありますか?

Google ドライブで、Colab ノートブックを検索できます。ノートブック ビューの左上にある Colab ロゴをクリックすると、ドライブが開いてすべてのノートブックが表示されます。また、[ファイル] > [ノートブックを開く] を選択して、最近開いたノートブックを探すこともできます。

コードはどこで実行されるのですか?実行中にブラウザ ウィンドウを閉じたらどうなりますか?

コードは、各アカウント専用の仮想マシンで実行されます。一定時間アイドル状態にある仮想マシンは削除されます。また、仮想マシンには、Colab のサービスで定められた最大存続時間があります。

データを取得するにはどうすればよいですか?

作成した Colab ノートブックは、こちらの手順で Google ドライブからダウンロードできます。また、Colab の [ファイル] メニューからダウンロードすることもできます。Colab ノートブックはすべて、オープンソースの Jupyter ノートブック形式(.ipynb)で保存されています。

コードを実行する仮想マシンをリセットするにはどうすればよいですか?また、仮想マシンをリセットできないことがあるのはなぜですか?

[ランタイム] > [ランタイムを出荷時設定にリセット] を選択することで、割り当てられている管理下のすべての仮想マシンを元の状態に戻すことができます。この方法は、システム ファイルを誤って上書きしてしまった場合や、互換性のないソフトウェアをインストールしてしまった場合など、仮想マシンの状態が健全でなくなった場合に便利です。リセットできる回数は Colab によって制限されており、リソースが不当に消費されるのを防いでいます。リセットできなかった場合は、しばらくしてからもう一度お試しください。

drive.mount() が失敗して「タイムアウト」と表示されることがあるのはどうしてですか?また、drive.mount() でマウントしたフォルダでの I/O オペレーションが失敗することがあるのはどうしてですか?

Google ドライブのオペレーションは、フォルダ内のファイル数やサブフォルダ数が増えすぎるとタイムアウトすることがあります。数千件ものアイテムが最上位の「マイドライブ」フォルダの直下にあると、ドライブのマウント処理がタイムアウトする可能性が高くなります。マウントを繰り返し試みると最終的に成功することがあります。これは、失敗するたびに、タイムアウトするまでの断片がローカルのキャッシュに保存されるためです。この問題が発生した場合は、「マイドライブ」の直下にあるファイルやフォルダをサブフォルダに移動してみてください。drive.mount() が正常終了した後で他のフォルダから読み取りを行うと、同様の問題が発生することがあります。多くのアイテムが含まれているフォルダ内のアイテムにアクセスすると、OSError: [Errno 5] Input/output error のようなエラーが発生することがあります。この問題も同様に、直下にあるアイテムをサブフォルダに移動することで解決できます。
注: ファイルやサブフォルダをゴミ箱に移動して「削除」するだけでは、この問題を解決できないことがあります。この方法で解決できない場合は、ゴミ箱を空にしてください

保存容量が原因でドライブのオペレーションが失敗することがあるのはどうしてですか?

Google ドライブでは、ユーザー単位およびファイル単位のオペレーション数や帯域幅の割り当てなど、さまざまな上限が適用されます。こうした上限を超えると、上記のように Input/output error が発生し、Colab の UI に通知が表示されます。一般的な原因としては、よく使用されている共有ファイルへのアクセスや、さまざまなファイルへの短期間の頻繁なアクセスが挙げられます。対応策の例:

保存容量が原因でドライブのオペレーションが失敗することがあるのはどうしてですか?

Google ドライブでは、各ユーザーがドライブに保存できるデータの量に制限があります。ドライブのオペレーションが Input/output error によって失敗し、容量上限を超えたという通知が表示された場合、drive.google.com で一部のファイルを削除し、ゴミ箱を空にして空き容量を確保してください。確保した空き容量が Colab で使用できるようになるまで、少し時間がかかることがあります。

ドライブの容量を購入する場合は、Google ドライブにアクセスしてください。ドライブの容量を購入しても、Colab VM で利用できるディスク容量は増えないことに注意してください。Colab VM で利用できるディスク容量を増やすには、Colab Pro のサブスクリプションにご登録ください。

リソース制限

Colab ではリソースが保証されていないのはなぜですか?

コンピューティング リソースを無料で提供できるようにするために、Colab では、使用量上限やハードウェアの可用性をその場で調整する柔軟性を維持する必要があります。Colab で利用可能なリソースは、需要の変動や全体的な成長などの要素に対応するために将来的に変更される可能性があります。

上限よりも多いリソースの利用を望むユーザーもいます。Colab Pro と Colab Pro+ では、より高速な GPU、長時間動作するノートブック、より多くのメモリに優先的にアクセスできます。Google の長期的な目標は、ユーザーのニーズを満たすべく持続可能な方法で成長しながら Colab を料金なしで提供し続けることです。

Colab でリソースを完全にコントロールする場合は、Colab GCP Marketplace VM をお試しください。Colab GCP Marketplace VM では、使用するランタイム リソースを正確に指定でき、Colab UI を使用しながらも好みに合わせて管理できる永続的な環境が提供されます。

Colab の使用量上限とは何ですか?

Colab では、状況によって変動する動的な使用制限を設け、無制限のリソース提供やリソースの保証を行わないことによって、料金なしでのリソース提供を実現しています。つまり、全体の使用量の上限、VM の最大存続期間、利用できる GPU タイプなどの要素は、時間とともに変更される可能性があります。Colab では、変更が頻繁に起きる可能性があることから、これらの上限を公開しません。

GPU と TPU は、Colab で長期間のコンピューティング処理を行うユーザーではなく、インタラクティブに使用しているユーザー、または直近のリソース使用量の少ないユーザーに優先的に割り当てられる場合があります。その結果、Colab を長期間のコンピューティング処理に使用するユーザーや直近のリソース使用量が多いユーザーは、使用量が上限に達して GPU と TPU へのアクセスが一時的に制限される可能性が高くなります。より高速で使用量の上限がより安定したサービスに関心をお持ちの場合は、Colab Pro と Colab Pro+ をおすすめします。高負荷のコンピューティング処理を必要とするユーザーには、独自のハードウェアまたは Colab GCP Marketplace VM で動作するローカル ランタイムを備えた Colab の UI の使用をおすすめします。

Colab で利用可能な GPU のタイプは何ですか?

Colab で利用可能な GPU のタイプは時間とともに変わります。これは Colab で料金なしでこれらのリソースへのアクセスを提供するうえで必要です。Colab で利用可能な GPU には通常、Nvidia K80、T4、P100 などがあります。Colab で最速の GPU をより安定した状態で利用したいユーザーには、Colab Pro と Colab Pro+ をおすすめします。Colab で特定のハードウェアを使用する場合は、Colab GCP Marketplace VM をお試しください。

なお、Colab を暗号通貨のマイニングに使用することは認められていません。使用された場合は、Colab の利用を全面的に制限させていただく場合がありますので、ご注意ください。

Colab ではノートブックはどのくらいの時間動作しますか?

ノートブックは、最大存続期間が最長 12 時間の仮想マシンに接続することで実行されます。また、ノートブックは長時間放置すると仮想マシンから切断されます。仮想マシンの最大存続期間とアイドル タイムアウトの動作は将来的に変更される可能性があるほか、使用状況に応じて変わる場合もあります。これは Colab がコンピューティング リソースを料金なしで提供するうえで必要です。時間の経過に応じて大きく変更されることがなく、より長い仮想マシンの最大存続期間やアイドル タイムアウト動作の生じにくいサービスに関心をお持ちの場合は、Colab Pro と Colab Pro+ をおすすめします。

Colab VM の存続時間を管理する場合は、Colab GCP Marketplace VM をお試しください。好みに合わせて管理できる永続的な環境が提供されます。

Colab で使用可能なメモリ量はどれくらいですか?

Colab の仮想マシンで使用可能なメモリ量は将来的に変更される可能性があります(仮想マシンの存続時間中は変更されません)。時間の経過とともにメモリ量を調整することで、Colab を料金なしで提供することが継続できます。また、追加のメモリを備えた仮想マシンが必要になりそうだということが Colab で検出されると、追加のメモリが自動的に割り当てられる場合があります。Colab で使用可能なメモリ量をより多く確保することに関心をお持ちの場合は、Colab Pro と Colab Pro+ か、Colab GCP Marketplace VM をおすすめします。

Colab を最大限に活用するにはどうすればよいですか?

Colab のリソースは、直近のリソース使用量が少ないユーザーに優先的に割り当てられ、限られたリソースが少数のユーザーに占有されないようにしています。Colab を最大限に活用するには、作業が終了したら Colab のタブを閉じ、作業に不要な GPU を使用しないようにしてください。そうすることで、Colab で使用量の上限に達することが少なくなります。料金がかからないバージョンの Colab のリソースの上限を超えて利用することに関心をお持ちの場合は、Colab Pro と Colab Pro+ をおすすめします。

GPU が使用されていないというメッセージが表示されました。どうすればよいですか?

Colab では、GPU と TPU を含む、オプションの高速コンピューティング環境を提供しています。GPU または TPU ランタイムでコードを実行しても GPU または TPU が使用されているとは限りません。GPU の使用量上限に達するのを避けるには、GPU を使用していない場合は標準ランタイムに切り替えることをおすすめします。[ランタイム] > [ランタイムのタイプを変更] を選択し、[ハードウェア アクセラレータ] を [なし] に設定します。

Colab で GPU と TPU のランタイムを使用する方法の例については、GPU を使用した TensorFlowColab での TPU のサンプル ノートブックをご覧ください。

その他の質問

どのブラウザに対応していますか?

Colab はほとんどの主要なブラウザで動作します。最新バージョンの ChromeFirefoxSafari では完全に動作するよう検証済みです。

colaboratory.jupyter.org とはどのような関係ですか?

Google では、2014 年に Jupyter 開発チームと協力し、このツールの初期バージョンをリリースしました。その後、Google 社内での利用を通じて発展させたのが現在の Colab です。

他のプログラミング言語はサポートされていますか?

Colab では、Python のサポートとそのエコシステムのサードパーティ製ツールに重点が置かれています。他の Jupyter カーネル(R、Scala など)のサポートを望む声があることも承知しており、サポートしたいと考えておりますが、まだ日程を明らかにできる段階にはありません。

バグを見つけた場合や質問がある場合の連絡方法を教えてください。

Colab ノートブックを開き、[ヘルプ] メニューから [フィードバックを送信] を選択してください。

サードパーティの Cookie を有効にするよう促すメッセージが表示されるのはどうしてですか?

Colab では、さまざまな出力を安全に表示するために、ホスト元の異なる HTML iframe と Service Worker を使用しています。ブラウザで iframe 内の Service Worker を使用するにはサードパーティの Cookie を有効にする必要があります。すべてのサイトに対してサードパーティの Cookie を有効にする別の手段としては、ブラウザの設定でホスト名(googleusercontent.com)を許可する方法もあります。

エディタのフォントを変更するにはどうすればよいですか?

Colab のエディタでは一般的な等幅フォントを使用しています。最新のブラウザでは等幅フォントに使用するフォント ファミリーを設定できます。一般的なブラウザでの手順:

Colab では Python 2 はサポートされますか?

Colab での Python 2 のサポートは終了しました。Python 2 から Python 3 へのコードの移行については、Python 2 コードから Python 3 への移行をご覧ください。

Colab Pro と Colab Pro+ に関する詳細はどこで確認できますか?

お申し込みページに、Colab Pro と Colab Pro+ に関するよくある質問があります。

Colab Pro と Colab Pro+ の支払いの手続きについて教えてください。

Colab Pro と Colab Pro+ に関する情報(価格、アップグレードの処理方法を含む)については、Colab Pro と Colab Pro+ のお申し込みページをご覧ください。

Workspace アカウントで Colab にアクセスするにはどうすればよいですか?

Colab への Workspace ユーザーのアクセスは、組織の管理者がアクセスできる Workspace のオン / オフのコントロールによって制御されます。

Workspace for Education の組織は、学生(18 歳未満)が Google Workspace for Education アカウントで追加のサービスを使用することについて保護者の同意を得る必要があります。詳細については、ヘルプセンターの記事「Google Workspace for Education について保護者と情報を共有する」をご覧ください。なお、13 歳未満のお子様の Google アカウントはサポートされていません。