パワーユーザーのGoogle Colabのヒント


Colabは、Googleから来て最高の製品の一つです.それはGPUを自由に私のような学習者や実務家にアクセスできるようにしました.
インターフェイスは非常に使いやすいですが、多くの知られていないとColabの文書化されていない機能があります.このポストでは、私は彼らの公式協議と基本的な使用から発見したそれらの特徴を共有します.

スクラッチパッドノート


それは我々がColabの一時的なものを試して作成された乱雑な無題ノートの束を持っているかなり一般的なシナリオです.

これを解決するには、以下のリンクをブックマークできます.それは特別なスクラッチノートブックを開き、そのノートブックにする変更は、メインアカウントに保存されません.

https://colab.research.google.com/notebooks/empty.ipynb


2 .セルのタイミング実行


これはかなり手動での時間を測定するためのコードの開始と終了時間の違いを計算することは一般的です.
Colabは作り付けの機能を提供します.セルが実行された後、セルの実行アイコンの上にホバーだけで、実行時間の見積もりを取得します.

細胞の一部を動かす


また、セルの一部だけを選択して実行し、Runtime > Run Selection ボタンまたはキーボードショートカットを使用するCtrl + Shift + Enter .

jupyterノートブックキーボードショートカット


あなたはJupyterノートブックからキーボードショートカットに精通している場合、彼らは直接Colabで動作しません.しかし、私は彼らの間でマップする精神的なモデルを見つけました.
ジャストアドCtrl + M あなたがjupyterで使用していたキーボードショートカットの前に.親指のこの規則は、一般的なユースケースの大多数のために動作します.
アクション
Jupyterノートブック
グーグル・コブ
上記のセルを追加する
エー
Ctrl + M + A
下にセルを加える
B
Ctrl + M + B
すべてのキーボードショートカットを見る
H
Ctrl + M + H
セルをコードに変える
Y
Ctrl + M + Y
セルをマークダウンに変更
エム
Ctrl + M + M
カーネルを中断する
II
Ctrl + M + I
セルの削除
DD
Ctrl + M + D
チェックポイントノートブック
Ctrl + S
Ctrl + M + S
以下は、ショートカットが完全に変更されるか、または同じように保たれているこの規則のいくつかの顕著な例外です.
アクション
Jupyterノートブック
グーグル・コブ
ランタイムの再起動
00
Ctrl + M +.
ランセル
Ctrl +入力
Ctrl +入力
セルを実行し、下に新しいセルを追加する
Alt +入力
Alt +入力
次のセルを次のセルに移動します
エンター+シフト
エンター+シフト
コメント現在行
Ctrl +
Ctrl +

クラス定義へのジャンプ


IDEと同様に、クラス定義にCtrl 次にクラス名をクリックします.例えば、ここでは、Ctrlキーを押してクリックしてKerasの濃密層のクラス定義を見ますDense クラス名.

ギタブからのノートブック


Google Colabチームは、公式のChromeの拡張機能を提供します.からインストールできますhere .
インストール後、任意のGithubノートブックのColabのアイコンをクリックして直接開く.

また、手動で任意のgithubノートブックを置き換えることによって開くことができますてgithub.com with colab.research.google.com/github .

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


to

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


コラからのフラスコアプリの実行


図書館でflask-ngrok , 簡単にCollabのデモプロトタイプに実行フラスコのWebアプリケーションを公開することができます.まず、インストールする必要がありますflask and flask-ngrok .
!pip install flask-ngrok flask==0.12.2
次に、ちょうどあなたのフラスコアプリのオブジェクトを渡す必要がありますrun_with_ngrok そして、サーバが起動されるとき、それはngrok終点を公開します.
from flask import Flask
from flask_ngrok import run_with_ngrok

app = Flask(__name__)
run_with_ngrok(app)

@app.route('/')
def hello():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

これをパッケージ作者から試してみましょうofficial example Colabについて

tensorflowバージョン間の切り替え


簡単にTensorFlow 1とTensorFlow 2の間にこの魔法の旗を使用して切り替えることができます.
Tensorflow 1.15.2に切り替えるには、次のコマンドを使用します.
%tensorflow_version 1.x
TensorFlow 2.2に切り替えるには、次のコマンドを実行します.
%tensorflow_version 2.x
あなたが実行するためのランタイムを再起動する必要があります.Colabは、それをインストールする代わりに、あらかじめインストールされたTensorFlowバージョンを使用することを勧めますpip パフォーマンスの理由で.

テンソルボードインテグレーション


Colabもノートブックから直接Tensorboardを使用する魔法のコマンドを提供します.ログディレクトリの場所を--logdir フラグ.あなたはそれを使用することを学ぶことができますofficial notebook .
%load_ext tensorboard
%tensorboard --logdir logs

ゲージリソース制限


Colabは、無料とプロのバージョンの次の仕様を提供します.あなたのユースケースに基づいて、あなたはより良いランタイム、GPU、およびメモリが必要な場合は、10月/月のプロバージョンに切り替えることができます.
バージョン
GPU
GPU RAM
ラム
ストレージ
CPUコア
アイドルタイムアウト
ランタイム
フリー
テスラK 80
11.44 GB
13.7 GB
37ギガバイト
2
90分
12時間
プロ
テスラP 100
16 GB
27.4 GB
37ギガバイト
4
90分
24時間
次のコマンドを実行して割り当てられたGPUを表示できます
!nvidia-smi
CPUに関する情報は、このコマンドを実行することができます
!cat /proc/cpuinfo
同様に、実行してRAM容量を表示できます
import psutil
ram_gb = psutil.virtual_memory().total / 1e9
print(ram_gb)

対話シェル


Colabの組み込みの対話型端末はありません.しかし、あなたはbash コマンドを対話的にシェルコマンドを試してください.ちょっとこのコマンドを実行してください、そして、あなたは対話的な入力を得ます.
!bash
さて、与えられた入力ボックスでシェルコマンドを実行できます.

シェルから終了するには、exit 入力ボックスで.

カレントメモリとストレージ使用


ColabはRAMとディスク使用の指標を提供します.あなたがインジケータの上にホバーオーバーする場合は、現在の使用量と総容量でポップアップを取得します.

13 .「Colabのオープン」バッジ


あなたは' Colab 'をオープンすることができますREADME.md または以下のマークダウンコードを使用してJupyterノート.

Markdownコードでは、SVGイメージを読み込み、Colabノートにリンクしています.
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/notebooks/basic_features_overview.ipynb)

パンダの対話型テーブル


Colabは、インタラクティブな並べ替えを追加し、パンダのデータグラムに機能をフィルタリングするノートブックの拡張機能を提供します.使用するには、次のコードを実行します.
%load_ext google.colab.data_table
以下のエクステンションをロードした後に、通常のpandas dataframeと対話的なdataframeを見ることができます.


15 . Conda環境設定


あなたのPython環境マネージャとしてMinicondaを使用する場合は、ノートブックの上部にこのコマンドを実行することによってColabに設定できます.
# Download Miniconda installation script
!wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh

# Make it executable
!chmod +x Miniconda3-latest-Linux-x86_64.sh

# Start installation in silent mode
!bash ./Miniconda3-latest-Linux-x86_64.sh -b -f -p /usr/local

# Make conda packages available in current environment
import sys
sys.path.append('/usr/local/lib/python3.7/site-packages/')
セルを実行した後、Condaを使用してパッケージを通常通りインストールできます.
!conda install -y flask

コマンドラインからColabノートを管理する


あなたはライブラリと呼ばれる使用できますcolab-cli 簡単に作成し、ローカルノートブックでColabノートを同期します.

17 .バックグラウンドタスクの実行


定期的なプログラムを実行する前に、いくつかのWebサーバやバックグラウンドタスクを起動する必要がある場合に使用されます.
バックグラウンドタスクを実行するにはnohup コマンドを実行し、通常のシェルコマンドを& 最後にバックグラウンドで実行します.これは、後であなたのバックグラウンドタスクをブロックノートブックでセルを実行できることを確認します.
!nohup bash ping.sh &

訓練完了通知


あなたがモデルのトレーニングなどの長いタスクを実行している場合は、一度それが完了したら、デスクトップ通知を送信する設定Colabを設定することができます.
gotoツールを有効にするには⮕ 設定⮕ サイトと有効Show desktop notifications チェックボックス.

ブラウザの通知を有効にするポップアップを取得します.ちょうどそれを受け入れてください、そして、もう一つのタブ、ウインドウまたはアプリケーションにあっても、Colabはタスク完了に関してあなたに通知します.

19章JavaScriptコードを実行する


JavaScriptコードを実行するには%%javascript マジックコマンド.

参考文献

  • ティモシーノヴィカフ
  • ギャルオズリ