よくある質問
基本
Colaboratory(略称: Colab)は、Google Research が提供するサービスです。Colab では、誰でもブラウザ上で Python を記述、実行できるため、機械学習、データ分析、教育に特に適しています。具体的には、GPU などのコンピューティング リソースに料金なしでアクセスしながら、特別な設定なしでご利用いただけるホスト型の Jupyter Notebook サービスです。
はい。Colab は料金なしでご利用いただけます。
Colab のリソースは保証型ではなく、無制限でもありません。使用量の上限が状況に応じて変動します。これは Colab がリソースを料金なしで提供するうえで必要です。詳細については、リソース制限をご覧ください。
より豊富なリソースを確実に利用したい場合は、Colab Pro をおすすめします。
Colab のリソースは、インタラクティブなユースケースに優先的に割り当てられます。大量のコンピューティングに関連するアクション、他者に悪影響を与えるアクション、Google のポリシーの回避に関連するアクションは禁止されています。以下は、Colab ランタイムでは許可されていません。
- ファイル ホスティング、メディア配信、または Colab とのインタラクティブなコンピューティングに関連していない他のウェブサービスの提供
- トレントのダウンロードまたはピアツーピアのファイル共有への関与
- リモート デスクトップまたは SSH の使用
- リモート プロキシへの接続
- 暗号通貨マイニング
- サービス拒否攻撃の実行
- パスワードの解読
- 複数アカウントの使用による、アクセスまたはリソース使用量の制限の回避
- ディープフェイクの作成
有料ユーザーの追加の制限事項は、こちらに記載されています。
Jupyter は、Colab のベースになっているオープンソース プロジェクトです。Colab では、Jupyter のノートブックを使用したり他のユーザーと共有したりできます。ダウンロード、インストール、実行などの操作は一切不要です。
Colab の使用
Colab ノートブックは、Google ドライブに保存することも、GitHub から読み込むこともできます。Colab ノートブックは、Google ドキュメントや Google スプレッドシートと同じように共有できます。Colabo ノートブックの右上にある [共有] ボタンをクリックするか、Google ドライブのファイル共有の手順に沿って共有してください。
ノートブックの全コンテンツ(テキスト、コード、出力、コメント)が共有されます。保存、共有の対象からコードセルの出力を除外するには、[編集] > [ノートブックの設定] > [このノートブックを保存する際にコードセルの出力を除外する] を使用します。使用している仮想マシンは、設定済みのカスタム ファイル、カスタム ライブラリを含め、共有されません。そのため、ノートブックで必要なカスタム ライブラリまたはカスタム ファイルのインストールと読み込みを行うセルについては、保存対象から除外しないことをおすすめします。
はい、できます。[ファイル] メニューの [ノートブックをアップロード] を選択してください。
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 に通知が表示されます。一般的な原因としては、よく使用されている共有ファイルへのアクセスや、さまざまなファイルへの短期間の頻繁なアクセスが挙げられます。対応策の例:
- drive.google.com でファイルをコピーし、他のユーザーの使用状況が上限を超えないように共有の範囲を絞る。
- I/O 読み取りを細かく何度も行うことは避ける。代わりにアーカイブ形式(例:
.zip
ファイル、.tar.gz
ファイル)で Google ドライブから Colab VM にデータをコピーし、マウントされた Google ドライブのディレクトリではなく VM 上でローカルでデータのアーカイブを解除する。 - 容量の上限がリセットされるまで、1 日待つ。
Google ドライブでは、各ユーザーがドライブに保存できるデータの量に制限があります。ドライブのオペレーションが Input/output error
によって失敗し、容量上限を超えたという通知が表示された場合、drive.google.com で一部のファイルを削除し、ゴミ箱を空にして空き容量を確保してください。確保した空き容量が Colab で使用できるようになるまで、少し時間がかかることがあります。
ドライブの容量を購入する場合は、Google ドライブにアクセスしてください。ドライブの容量を購入しても、Colab VM で利用できるディスク容量は増えないことに注意してください。Colab VM で利用できるディスク容量を増やすには、Colab Pro のサブスクリプションにご登録ください。
リソース制限
コンピューティング リソースを料金なしで提供できるようにするために、Colab では、使用量上限やハードウェアの可用性をその場で調整する柔軟性を維持する必要があります。Colab で利用可能なリソースは、求められる変動や全体的な成長などの要素に対応するために将来的に変更される可能性があります。
上限よりも多いリソースの利用を望むユーザーもいます。Colab Pro と Colab Pro+ では、より高速な GPU、長時間動作するノートブック、より多くのメモリに優先的にアクセスできます。Google の長期的な目標は、ユーザーのニーズを満たすべく持続可能な方法で成長しながら Colab を料金なしで提供し続けることです。
Colab でリソースを完全にコントロールする場合は、Colab GCP Marketplace VM をお試しください。Colab GCP Marketplace VM では、使用するランタイム リソースを正確に指定でき、Colab UI を使用しながらも好みに合わせて管理できる永続的な環境が提供されます。
Colab では、状況によって変動する動的な使用制限を設け、無制限のリソース提供やリソースの保証を行わないことで、料金なしでのリソース提供を実現しています。つまり、全体の使用量の上限、アイドル タイムアウト時間、VM の最大存続期間、利用できる GPU タイプなどの要素は、時間とともに変更される可能性があります。Colab では、変更が頻繁に起きる可能性があることから、これらの上限を公開しません。
GPU と TPU は、Colab で長期間のコンピューティング処理を行うユーザーではなく、インタラクティブに使用しているユーザー、または直近のリソース使用量の少ないユーザーに優先的に割り当てられる場合があります。その結果、Colab を長期間のコンピューティング処理に使用するユーザーや直近のリソース使用量が多いユーザーは、使用量が上限に達して GPU と TPU へのアクセスが一時的に制限される可能性が高くなります。使用量上限がより高くかつ安定したサービスに関心をお持ちの場合は、Colab Pro と Colab Pro+ をおすすめします。高負荷のコンピューティング処理を必要とするユーザーには、独自のハードウェアで動作するローカル ランタイムまたは Colab GCP Marketplace VM で Colab の UI を使用することをおすすめします。
Colab で利用可能な GPU のタイプはそのときによって変更されます。これは、Colab のリソースへのアクセスを料金なしで提供するうえで必要な処置です。Colab で最速の GPU をより安定した状態で利用したいユーザーには、Colab Pro と Colab Pro+ をおすすめします。Colab で特定のハードウェアを使用する場合は、Colab GCP Marketplace VM をお試しください。
なお、Colab を暗号通貨のマイニングに使用することは認められていません。使用された場合は、Colab の利用を全面的に制限させていただく場合がありますので、ご注意ください。
ノートブックは、最大存続時間が最長 12 時間の仮想マシンに接続して実行されます。ノートブックのアイドル状態が長時間続くとタイムアウトし、仮想マシンから切断されます。仮想マシンの最大存続時間とアイドル タイムアウトの動作は将来的に変更される可能性があるほか、使用状況に応じて変わる場合もあります。これらの条件は Colab でコンピューティング リソースを料金なしで提供するために設けられています。時間による変動の少ない、仮想マシンの最大存続時間がより長くアイドル タイムアウトが発生しにくいサービスをご希望であれば、Colab Pro と Colab Pro+ をおすすめします。
Colab VM の存続時間を管理する場合は、Colab GCP Marketplace VM をお試しください。好みに合わせて管理できる永続的な環境が提供されます。
Colab の仮想マシンで使用可能なメモリ量は将来的に変更される可能性があります(仮想マシンの存続時間中は変更されません)。時間の経過とともにメモリ量を調整することにより、Colab を料金なしで提供し続けることが可能になります。また、追加のメモリが必要になる可能性が Colab で検出されると、追加のメモリを備えた仮想マシンが自動的に割り当てられる場合があります。Colab でより多くのメモリを使用することに関心をお持ちの場合は、Colab Pro と Colab Pro+ か、Colab GCP Marketplace VM をおすすめします。
Colab のリソースは、直近のリソース使用量が少ないユーザーに優先的に割り当てられ、限られたリソースが少数のユーザーに占有されないようにしています。Colab を最大限に活用するには、作業が終了したら Colab のタブを閉じ、作業に不要な GPU を使用しないようにしてください。そうすることで、Colab で使用量の上限に達することが少なくなります。料金がかからないバージョンの上限を超えて Colab のリソースを利用することに関心をお持ちの場合は、Colab Pro と Colab Pro+ をおすすめします。
Colab では、GPU と TPU を含む、オプションの高速コンピューティング環境を提供しています。GPU または TPU ランタイムでコードを実行しても GPU または TPU が使用されているとは限りません。GPU の使用量上限に達するのを避けるには、GPU を使用していない場合は標準ランタイムに切り替えることをおすすめします。[ランタイム] > [ランタイムのタイプを変更] を選択し、[ハードウェア アクセラレータ] を [なし] に設定します。
Colab で GPU と TPU のランタイムを使用する方法の例については、GPU を使用した TensorFlow と Colab での TPU のサンプル ノートブックをご覧ください。
その他の質問
Google では、2014 年に Jupyter 開発チームと協力し、このツールの初期バージョンをリリースしました。その後、Google 社内での利用を通じて発展させたのが現在の Colab です。
Colab では、Python のサポートとそのエコシステムのサードパーティ製ツールに重点が置かれています。他の Jupyter カーネル(R、Scala など)のサポートを望む声があることも承知しており、サポートしたいと考えておりますが、まだ日程を明らかにできる段階にはありません。
Colab ノートブックを開き、[ヘルプ] メニューから [フィードバックを送信] を選択してください。
Colab では、さまざまな出力を安全に表示するために、ホスト元の異なる HTML iframe と Service Worker を使用しています。ブラウザで iframe 内の Service Worker を使用するにはサードパーティの Cookie を有効にする必要があります。すべてのサイトに対してサードパーティの Cookie を有効にする別の手段としては、ブラウザの設定でホスト名(googleusercontent.com)を許可する方法もあります。
Colab のエディタでは一般的な等幅フォントを使用しています。最新のブラウザでは等幅フォントに使用するフォント ファミリーを設定できます。一般的なブラウザでの手順:
- Firefox: Firefox サポート ドキュメントの手順に沿って、[等幅] フォントを設定します。
- Chrome:「chrome://settings/fonts」にアクセスして、[固定幅フォント] セクションを変更します。
Colab での Python 2 のサポートは終了しました。Python 2 から Python 3 へのコードの移行については、Python 2 コードから Python 3 への移行をご覧ください。
お申し込みページに、Colab Pro と Colab Pro+ に関するよくある質問があります。
Colab Pro と Colab Pro+ に関する情報(価格、アップグレードの処理方法を含む)については、Colab Pro と Colab Pro+ のお申し込みページをご覧ください。
Colab への Workspace ユーザーのアクセスは、組織の管理者がアクセスできる Workspace のオン / オフのコントロールによって制御されます。
Workspace for Education の組織は、学生(18 歳未満)が Google Workspace for Education アカウントで追加のサービスを使用することについて保護者の同意を得る必要があります。詳細については、ヘルプセンターの記事「Google Workspace for Education について保護者と情報を共有する」をご覧ください。なお、13 歳未満のお子様の Google アカウントはサポートされていません。