Google Colab をマスターするための 20 のヒント

Google Colab をマスターするための 20 のヒント

Google Colab は AI 開発者に無料の GPU を提供しており、Tensorflow や Pytorch などのディープラーニング フレームワークを簡単に実行できます。しかし、Colab の使用スキルについてどれだけご存知ですか?この記事では、効率を向上させるための Colab の使用に関する 20 のヒントを紹介します。

1. ノートブック

colab でアドホックなことを試すと、乱雑でタイトルのないノートブックが大量に作成されます。

この問題を解決するには、次のリンクをブックマークしてください: https://colab.research.google.com/notebooks/empty.ipynb

これにより、特別なスクラッチ ノートブックが開き、そのノートブックに加えた変更はホーム ディレクトリに保存されません。

2. ユニットタイミング

通常、コードの開始時間と終了時間の差を手動で計算して、かかる時間を測定します。 Colab には、これを実行するための組み込み機能が用意されています。セルを実行した後、セル実行アイコンの上にマウスを置くと、コード実行時間の見積もりが表示されます。

3. ユニットの一部を実行する

セルを選択し、[実行時間] タブの [選択範囲を実行] ボタンをクリックするか、キーボード ショートカット Ctrl+Shift+Enter を使用して、セルの一部を実行することもできます。

4. Jupyter Notebookのショートカットキー

ショートカット キーはプログラミングに便利ですが、Jupyter Notebook のショートカット キーは Colab で直接使用することはできません。ただし、この問題を解決するための関係マッピング テーブルがあります。ご覧のとおり、Colab で Jupyter ショートカット キーを使用するには、その前に「Ctrl + M」を追加するだけです。このルールはほとんどのショートカット キーに適用されます。

ここでは、ショートカットが完全に変更されたか、同じままである特殊なケースをいくつか示します。

5. クラス定義へジャンプ

IDE と同様に、Ctrl キーを押してクラス名をクリックすると、クラス定義にジャンプできます。たとえば、ここでは、Ctrl キーを押しながら Dense クラス名をクリックして、Keras の Dense レイヤーのクラス定義を表示します。

6. GitHubでノートブックを開く

Google Colab チームは公式の Chrome 拡張機能を提供しています。 colab を使用すると、GitHub で直接ノートブックを開くことができます。

拡張機能のダウンロードアドレス: https://chrome.google.com/webstore/detail/open-in-colab/iogfkhleblhcpcekbiedikdehleodpjo

インストールしたら、GitHub ノートブックの colab アイコンをクリックして直接開きます。

または、GitHub ノートブックを手動で開き、github.com を colab.research.google.com/github に置き換えることもできます。

https://github.com/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

置き換える

https://colab.research.google.com/github/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

さらに簡単な方法は、github.com を githubtocolab.com に置き換えることです。

https://github.com/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

置き換える

https://githubtocolab.com/fastai/course-v3/blob/master/nbs/dl1/00_notebook_tutorial.ipynb

7. ColabからFlaskアプリケーションを実行する

flask-ngrok ライブラリ (https://github.com/gstaff/flask-ngrok) を使用すると、colab で実行されている Flask Web アプリケーションをデモ プロトタイプに簡単に変換できます。

まず、flask と flask-ngrok をインストールする必要があります。

  1. !pip で flask をインストール - ngrok flask== 0.12.2

次に、Flask アプリ オブジェクトを run_with_ngrok 関数に渡すだけで、サーバーの起動時に ngrok エンドポイントが公開されます。

  1. FlaskからFlaskをインポートflask_ngrokからrun_with_ngrokをインポート
  2. アプリ = Flask(__name__) run_with_ngrok(アプリ)
  3. @app .route( '/' )def hello(): __name__ == '__main__'の場合'Hello World!'を返します: app.run()

8. Tensorflowのバージョンを切り替える

Tensorflow 1 と Tensorflow 2 を簡単に切り替えることができます。

Tensorflow 1.15.2 に切り替えるには、次のコマンドを使用します。

  1. %テンソルフローバージョン1.x

Tensorflow 2.2 に切り替えるには、次のコマンドを実行します。

  1. %テンソルフローバージョン2.x

これを有効にするには再起動する必要があります。パフォーマンス上の理由から、Colab では、pip コマンドを使用してインストールするのではなく、プリインストールされたバージョンの Tensorflow を使用することを推奨しています。

9. テンソルボードの統合

Colab は、ノートブックから直接 Tensorboard を使用するコマンドも提供します。 --logdir を使用してログ ディレクトリの場所を設定するだけです。

公式ノートブックから使用方法を学習できます: https://colab.research.google.com/github/tensorflow/tensorboard/blob/master/docs/tensorboard_in_notebooks.ipynb。

  1. %load_ext tensorboard% tensorboard --logdir ログ

10. リソース制限を確認する

Colab は、無料版とプロ版で次の仕様を提供しています。状況に応じて、より優れたランタイム、GPU、メモリが必要な場合は、月額 10 ドルでプロ バージョンに切り替えることができます。

次のコマンドを実行すると、割り当てられている GPU を表示できます。

  1. !nvidia-smi

CPU に関する情報を取得するには、次のコマンドを実行します。

  1. !cat /proc/cpuinfo

さらに、次のコマンドを実行してRAM容量を確認できます。

  1. psutil ram_gbをインポートします。 = psutil.virtual_memory().total / 1e9 print(ram_gb)

11. 対話型シェルの使用

Colab には組み込みのインタラクティブ ターミナルはありません。ただし、bash コマンドを使用してシェル コマンドを対話的に試すことができます。このコマンドを実行するだけで、対話型入力が得られます。

  1. !バッシュ

これで、指定された入力ボックスで任意のシェル コマンドを実行できます。

シェルを終了するには、入力ボックスに exit と入力するだけです。

12. 現在のメモリとストレージの使用状況

Colab は RAM とディスクの使用状況を示すインジケーターを提供します。インジケーターの上にマウスを置くと、現在のメモリとストレージの使用状況と合計容量を示すウィンドウがポップアップ表示されます。

13. 「Colabで開く」ロゴ

次のマークダウン コードを使用して、README.md または Jupyter ノートブックに「Colab で開く」サインを追加できます。

このコードでは、SVG イメージを読み込み、それを Colab ノートブックにリンクしています。

  1. [![Colab で開く](https: //colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/notebooks/basic_features_overview.ipynb)

14. パンダインタラクティブテーブル

Colab は、pandas データフレームにインタラクティブな並べ替えとフィルタリング機能を追加するためのノートブック拡張機能を提供します。これを使用するには、次のコードを実行します。

  1. %load_ext google.colab.data_table

以下の拡張機能をロードすると、通常の pandas データフレームとインタラクティブなデータフレームが表示されます。

15. Conda環境をセットアップする

Python 環境マネージャーとして miniconda を使用する場合は、ノートブックの上部で次のコマンドを実行して、colab に設定できます。

  1. # Miniconda インストール スクリプトをダウンロードします!wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh# 実行可能にします!chmod +x Miniconda3-latest-Linux-x86_64.sh# サイレント モードでインストールを開始します!bash ./Miniconda3-latest-Linux-x86_64.sh -b -f -p /usr/local# 現在の環境で conda パッケージを使用できるようにしますimport syssys.path.append('/usr/local/lib/python3.7/site-packages/')

セルを実行した後は、通常どおり conda を使用してパッケージをインストールできます。

  1. !conda インストール -y フラスコ

16. コマンドラインから Colab ノートブックを管理する

colab-cli というライブラリを使用すると、簡単に colab ノートブックを作成し、ローカル ノートブックと同期できます: https://github.com/Akshay090/colab-cli

17. バックグラウンドタスクを実行する

場合によっては、通常のプログラムを実行する前に、Web サーバーまたはバックグラウンド タスクを起動する必要があります。

バックグラウンド タスクを実行するには、「nohup」コマンドの後に通常のシェル コマンドを続け、最後に「&」を追加してバックグラウンドで実行します。これにより、バックグラウンド タスクによって終了されることなく、後続のノートブックでセルを実行できるようになります。

  1. !nohup bash ping.sh &

18. 研修完了の通知

時間のかかるタスク (モデルのトレーニングなど) を実行している場合は、タスクが完了したらデスクトップ通知を送信するように Colab を設定できます。

この機能を有効にするには、「ツール」⮕「設定」⮕「サイト」に移動し、「デスクトップ通知を表示する」チェックボックスをオンにします。

ブラウザ通知を有効にするためのポップアップ ウィンドウが表示されます。承認するだけで、別のタブ、ウィンドウ、またはアプリケーションにいる場合でも、タスクが完了すると colab から通知されます。

19. JavaScriptコードを実行する

%%javascript コマンドを使用して JavaScript コードを実行します。

20. ColabでVSCodeを実行する

Colab で完全な VSCode を実行できます。ドキュメントを参照してください: https://amitness.com/vscode-on-colab/。

<<:  機械学習プロジェクトを管理および組織化する方法

>>:  AI導入から最大限の価値を引き出す方法

ブログ    

推薦する

これは私が今まで読んだ TensorFlow を説明する最も徹底的な記事です。

はじめに: 「私の名前はジェイコブです。Google AI Residency プログラムの奨学生で...

AIIAがAIチップベンチマークの第一ラウンドの結果を発表

3月6日、国際電気通信連合と中国情報通信研究院が共催し、人工知能産業発展連盟(AIIA)とZTEが主...

...

将来的には配送車両の80%が自動運転技術を使用する

[[251814]]フォード、トヨタ、グーグル、アップルなどの大企業が自動運転車に投資していることは...

...

トヨタがAIを活用して融資判断をスピードアップする方法

[[431125]]自動車金融サービスの分野では、ディーラーと顧客が意思決定のスピードを追求していま...

AIとビッグデータ2017「成長痛」

2017 年、人工知能とビッグデータの開発では次の 10 の成長痛が発生しました。 [[21567...

ポストエピデミック時代:医療業界で成功するには?

この記事は公開アカウント「Reading Core Technique」(ID: AI_Discov...

世界をリセットし、すべてをつなげる5Gは人工知能にどんな機会と課題をもたらすのか

[[274397]] 5G時代は人工知能にどのような新たな機会をもたらすのでしょうか?人工知能と5G...

知覚AIオペレーティングシステム

AI、つまり人工知能の新たな波が到来します。機械学習、ディープラーニング、ニューラルネットワーク、音...

IBMは信頼性の低い量子コンピューティングの問題を克服し、エラー軽減を使用して有用な計算を実現し、Natureの表紙を飾った。

量子コンピューティングは長い間、特定の問題に関して従来のコンピューティングよりも高速であると期待され...

5種類の画像注釈の紹介

[[341366]] [51CTO.com クイック翻訳] 画像内のさまざまなグラフィック領域の注釈...

...

1800億パラメータ、世界最高峰のオープンソース大型モデルFalconが正式発表! Crush LLaMA 2、GPT-4に近いパフォーマンス

一夜にして、世界で最も強力なオープンソースの大型モデル Falcon 180B がインターネット全体...