見出し画像

WindowsでGoogle ColabのGPUをCursorから使用する

以下の記事に触発されてCursorでGoogle colabに接続しようとしましたが、以下の記事はMac用のものでした。
Windowsで実行する際色々勝手が違ったので備忘的にメモしておきます。

また、後述しますがColab pro以上に入ったうえで行ってください。

1. PCにcloudflaredをインストールする

Windows環境でcloudflaredをインストールする場合、以下のコマンドをPowerShellやコマンドプロンプトで実行します。

winget install --id Cloudflare.cloudflared

以下もご参照ください

インストールが完了したら、バージョン確認とインストールパスを確認します。

cloudflared --version 

パスの確認は以下コマンドで行います(PowerShellの場合):

where.exe cloudflared

表示されたパスをメモします。

2. Cursorで"Remote - SSH"拡張機能をインストールし設定する

Cursorを起動し、Ctrl+Shift+X(Windowsの場合)でコマンドパレットを開きます。

左上の"Search Extentions in Mark…"に"Remote - SSH"と入力してRemote SSH拡張機能を探し、インストールします。

Ctrl+Shift+Pで(Xではない)"Remote-SSH: Open SSH Configuration File..."を選択します。

SSH構成ファイル(~/.ssh/configが一般的なファイルパス)を開き、以下を追加します。

Host *.trycloudflare.com
    HostName %h
    User root
    Port 22
    ProxyCommand <cloudflaredの絶対パス> access ssh --hostname %h

<cloudflaredの絶対パス>には先ほどメモしたcloudflaredの実行ファイルパスを記載します。
(例: C:\Users\YourName\AppData\Local\Cloudflare\cloudflared.exe など)
<>は抜いてください(これがあると接続エラーになります)

3. Colab側の設定

※2024年12月現在では、コンピューティングユニットの残量がプラスでない場合に料金なしで実行するのは規約違反なので絶対にやめましょう。
課金してコンピューティングユニットを購入すればこの制限ははずれるようです。
Proに入られることをお勧めします。

Google Colabでノートブックを開き、右上少し下の「Gemini」の左隣にある▼をクリック→「ランタイムのタイプを変更」で接続したいGPUを選択します


以下のセルを実行してGoogle Driveをマウントします。

from google.colab import drive
drive.mount('/content/drive')

colab_sshをアップグレードします。

!pip install colab_ssh --upgrade

colab_sshのcloudflared経由SSH接続を有効化します。
「適当なパスワード」部分には任意の文字列を入れ、忘れずにメモします。
ここも<>は省いてください

from colab_ssh import launch_ssh_cloudflared
launch_ssh_cloudflared(password="<適当なパスワード>")


実行後、ssh root@xxxxx.trycloudflare.com 形式のホスト名が表示されますので、これをコピーしておきます。

赤枠内をコピー

4. Cursorから接続

Cursor上でCtrl+Shift+Pを押して"Connect to Host..."を選択します。

表示された入力欄に、Colabで表示されたxxxxx.trycloudflare.comのコピーしたホスト名を貼り付けます。

パスワード入力が求められたら、Colabで設定したパスワードを入力します。

接続後、/content/gdrive/MyDrive/Colab Notebooks などのパスを開くことで、Google Drive上のファイルにアクセスできます。

これでCursorからGoogle Colab上のマシンにSSH接続できるようになります。
接続が切れるとColab側はリセットされるので、重要なコードやファイルはGoogle Drive上で管理・保存することをお勧めします。

いいなと思ったら応援しよう!