8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】次世代ノートブック「marimo」をGoogle ColabのGPU環境で動かす方法

8
Last updated at Posted at 2025-12-17

Google Colabは便利ですが、長く使っていると「Jupyter Notebook (.ipynb) の辛さ」に直面することがあります。

  • Gitで差分(diff)を見ても、JSONの変更ばかりでコードの変更点が分からない
  • 実行順序によって変数の状態が変わり、「昨日は動いたのに…」が発生する
  • 試行錯誤の末、他人(あるいは未来の自分)が解読不能なノートブックが出来上がる

そこで、marimo を導入してみます。marimoの説明がよくまとまった記事があったので以下を参考に!

marimoは .py ファイル として保存され、リアクティブ(変数の依存関係に合わせてセルが自動更新される)な次世代のPythonノートブックです。

この記事では、ColabのGPUインスタンス上でmarimoを快適に動かすための手順をまとめます。

手順

1. Colabのランタイム設定

まずはColab側でGPUを有効にします。
メニューの ランタイムランタイムのタイプを変更T4 GPU (または使用したいGPU) を選択します。

2. marimoのインストール

セルで以下を実行します。

!pip -q install -U marimo

3. marimoの起動(Headlessモード + トークン設定)

Colabはリモート環境なので、ブラウザを立ち上げずにバックグラウンドでサーバーを起動します。セキュリティのためにトークンも生成します。

import secrets

# ポート番号(競合する場合は8889などに変更)
PORT = 8888
# 推測されにくいトークンを生成
TOKEN = secrets.token_urlsafe(16)
NOTEBOOK = "/content/notebook.py" # 保存するファイル名

print(f"TOKEN: {TOKEN}")

# 既存のプロセスがあればキルして再起動(再実行用)
!pkill -f "marimo" || true

# marimoをバックグラウンドで起動
!marimo edit {NOTEBOOK}   --headless   --host 127.0.0.1   --port {PORT}   --token-password "{TOKEN}"   > /content/marimo.log 2>&1 &

# 起動ログの確認
!tail -n 10 /content/marimo.log

4. プロキシURLの発行と接続

Colab上でWebアプリを表示するために google.colab.kernel.proxyPort を使用します。
インライン表示(IFrame)だとWebSocketが不安定になることがあるため、別タブでの表示を推奨します。

from google.colab.output import eval_js

proxy_url = eval_js(f"google.colab.kernel.proxyPort({PORT})")

print("以下のURLを【別タブ】で開いてください:")
print(f"{proxy_url}/?access_token={TOKEN}")

出力されたURLをクリックすると、別タブでmarimoのエディタが開きます。

marimo2.png

上記のURLをクリックすると↓
このようにmarimoの画面が開きます。
marimo6.png

5. 動作確認

marimoのエディタ上で新しいセルを作成し、以下を実行してGPUが見えていれば成功です。

import torch
print(f"CUDA Available: {torch.cuda.is_available()}")
if torch.cuda.is_available():
    print(f"Device: {torch.cuda.get_device_name(0)}")

marimo7.png

T4 GPUが見えていますね!

まとめ

これで、ColabのGPUパワーを使いつつ、管理しやすい .py 形式で実験を進められます。
marimoは他にも「スクリプトとしてそのまま実行可能」「Streamlitのようにアプリとして共有可能」といった特徴があるので、研究や開発のプロトタイピングに活用してみてください。

次はcursorからmarimoを編集してバックエンドだけColabのGPUに繋ぐことに挑戦したいです。

参考リンク

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?