Google Colab Tips
Colab の基本的な使い方は P1-01 の Colab ガイド を参照.本ページでは,演習を進める中で役立つ実践的なヒントをまとめる.
Google Drive 統合¶
ドライブのマウント¶
Colab からGoogle ドライブのファイルを読み書きするには,毎セッションの冒頭でマウントが必要.
from google.colab import drive
drive.mount('/content/drive')マウント後は /content/drive/MyDrive/ 以下にファイルが見える.
ファイルの読み書き¶
import numpy as np
# 保存
np.save('/content/drive/MyDrive/CompBioYYYY/results.npy', results)
# 読み込み
results = np.load('/content/drive/MyDrive/CompBioYYYY/results.npy')中間結果の保存¶
長時間かかる計算は途中結果を Drive に保存しておくと,セッション切れ後に最初からやり直さずに済む.
パッケージ管理¶
パッケージのインストール¶
Colab にプリインストールされていないパッケージは %pip install でインストールする.
%pip install biopythonインストール後のランタイム再起動¶
インストール直後にライブラリが認識されない場合は,Runtime → Restart session でランタイムを再起動する.
バージョン固定¶
再現性のためにバージョンを明示する場合:
%pip install scipy==1.11.4セッションをまたぐ場合¶
Colab の VM はセッション終了でリセットされるため,永続インストールはできない.ノートブックの冒頭セルにまとめて書いておくのが確実.
# ノートブック冒頭に記述
%pip install -q biopython networkx # -q で出力を抑制セッション・ランタイム管理¶
セッション切れ後の復旧手順¶
セッション切れ後に再接続した場合,変数はすべて消えるが,Drive に保存したファイルは残る.
「Connect」ボタンでランタイムに再接続
Drive をマウント(
drive.mount())セルを上から順に再実行(Runtime → Run all,または
Ctrl+F9)
ランタイムの再起動¶
カーネルが応答しなくなった場合は Runtime → Restart session(Ctrl+M .)で完全にリセットする.変数は全消去されるが,コードセルは残る.
実行の中断¶
無限ループや計算が止まらない場合:Runtime → Interrupt execution(Ctrl+M I).5秒待っても止まらなければ Restart session を使う.
全出力のクリア¶
出力が長くなって見づらい場合:Edit → Clear all outputs
セッションの管理¶
不要なセッションは Runtime → Manage sessions で確認・終了できる.
キーボードショートカット¶
ショートカット一覧は Ctrl+M H で表示できる.
セル実行¶
| 操作 | ショートカット |
|---|---|
| セルを実行して次へ進む | Shift + Enter |
| セルを実行してその場に留まる | Ctrl + Enter |
| セルを実行して下に新しいセルを挿入 | Alt + Enter |
| 全セルを実行 | Ctrl + F9 |
セル操作¶
| 操作 | ショートカット |
|---|---|
| 上にセルを追加 | Ctrl + M A |
| 下にセルを追加 | Ctrl + M B |
| セルを削除 | Ctrl + M D |
| コードセルに変換 | Ctrl + M Y |
| テキストセルに変換 | Ctrl + M M |
その他¶
| 操作 | ショートカット |
|---|---|
| 行コメントのトグル | Ctrl + / |
| 実行を中断 | Ctrl + M I |
| ランタイム再起動 | Ctrl + M . |
データの受け渡し¶
ローカル PC からファイルをアップロード¶
from google.colab import files
uploaded = files.upload() # ダイアログが開いてファイルを選択アップロードしたファイルは /content/ に配置される.セッション終了で消えるので注意.
ファイルをダウンロード¶
from google.colab import files
files.download('output.csv')URL からファイルを直接取得¶
!wget -O data.csv https://example.com/data.csvファイルブラウザ¶
左サイドバーのフォルダアイコンをクリックすると,/content/ 以下のファイルを GUI で閲覧・ダウンロードできる.
表示・出力の制御¶
セミコロンで出力を抑制¶
セルの最終行にセミコロンをつけると,不要な Out[n]: の表示を抑制できる.
fig, ax = plt.subplots()
ax.plot(t, x)
plt.show(); # <Figure ...> の表示を抑制実行時間の計測¶
%%time
# このセル全体の実行時間を計測
result = np.linalg.eig(np.random.rand(1000, 1000))%timeit np.random.rand(10**6).sum() # 複数回実行して平均を報告画像ファイルの表示¶
from IPython.display import Image
Image('figure.png')デバッグ・トラブルシューティング¶
トレースバックの読み方¶
エラーメッセージは最終行が最重要.
| エラー | 典型的な原因 |
|---|---|
NameError: name 'x' is not defined | 変数未定義(セルの実行順序が前後している) |
ModuleNotFoundError: No module named 'xxx' | パッケージ未インストール |
TypeError | 型の不一致(文字列と数値の演算など) |
IndexError | リストや配列の範囲外アクセス |
NameError の対処¶
最も多いのは「セルの実行順序が上から順でない」場合.Runtime → Run all で全セルを上から実行し直す.
ModuleNotFoundError の対処¶
%pip install <パッケージ名>を実行Runtime → Restart session でランタイムを再起動
再度
importを試みる
print() デバッグ¶
Colab では print() で変数の中身を随時確認する方法が最も手軽で確実.
エラーの検索¶
エラーメッセージの最終行をそのままコピーして検索すると解決策が見つかりやすい.