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導入から最大限の価値を引き出す方法

ブログ    
ブログ    

推薦する

2019年の中国の人工知能産業と産業配置の分析

[[282510]] 11月9日、ロシアのプーチン大統領はモスクワで開かれた第一回「人工知能への旅」...

不妊治療の新たな夜明け:AI

世界初の試験管ベビーは1978年に英国で誕生した。それ以来、人工生殖技術は継続的に改良されてきました...

...

清華大学のAI学生が顔を見せて歌う、この応用は将来に期待される

最近、清華大学初のAI学生がついにその本性を現した。伝えられるところによると、彼の名前は華志兵。清華...

...

マスク氏はマイクロソフトの論文をOpenAIを訴える根拠として利用した。「あなたたちはすでにAGIを認めている」

おそらく、これを敢えて実行できるのはマスク氏だけだろう。 Microsoft の論文を証拠として使っ...

コンテンツ マーケティングにおいて自然言語処理はどのように機能しますか?

[[417909]] [51CTO.com クイック翻訳]自然言語処理 (NLP) はコンテンツ ...

デジタル変革時代の産業用ロボットの5つの大きなトレンド

適応性は常に成功する組織の基礎となる原則です。過去 2 年間、世界は不確実性に直面してきましたが、こ...

機械学習の未来はここにある:ガウス過程とニューラルネットワークは同等である

ガウス過程は以前から存在していましたが、それに対する関心が大きく再燃したのはここ 5 ~ 10 年ほ...

ロボットR2-D2は50年後に人間の仕事を完全に置き換えるでしょうか?

[51CTO.com クイック翻訳] 海外メディアの報道によると、誰かが設計しているロボットがあな...

AIの旅を始めるのに役立つ3つの重要なステップ

すべての IT 問題には学習曲線と転換点があり、解決策が見つかる「なるほど!」という瞬間があります。...

中国の「データブリックス」:AIインフラの構築に真剣に取り組む

AI導入の最大の推進要因はインフラのアップグレードです。近年、ビッグデータ分析やAIなどの分野が注目...

ByteDance、検索速度が8倍に高速化した最新の音楽検索システム「ByteCover2」をリリース

最近、ByteDance Volcano Voice Teamの最新の音楽検索システムであるByte...

...