Google Colab エラー時の ランタイムリセット と ランタイム復旧【CodeFormerが使えない時】

Google Colab エラー対処法

Google Colabいくつかのエラーとランタイムの復旧

当記事は下記ページ【CodeFormerの使い方】のスポットライト記事として書いたものです。”Google Colab の使用方法”については下記記事からご覧ください。

目次

よくあるエラーとその原因

エラーの種類主な原因
ランタイム切断長時間操作しなかった/実行時間制限(90分〜12時間程度)
ランタイムのクラッシュメモリ(RAM)・VRAM不足。特に大きな学習や画像生成で発生しやすい
モジュールのインポートエラーpipでのインストールが必要なライブラリを忘れた/互換性の問題
Google Driveとの連携エラーマウントの失敗/認証のトークン期限切れ
「No module named ○○」仮想環境にインストールされていない/再起動後の環境リセット
Permission denied/アクセス拒否ファイルやフォルダの書き込み権限がない/パスの指定ミス
Timeout/ネットワーク関連ColabのサーバやGoogle Driveとの通信が一時的に不安定

エラーが「頻発する」と感じる原因

  • Colabはセッション型なので環境が毎回リセットされる → インストールやマウントを毎回やり直す必要がある
  • 無料版はリソース制限が厳しい → GPUが割り当てられないこともある
  • 安定性よりも柔軟性重視の設計 → 初心者にとっては不安定に見えることも

対処・工夫ポイント

  • !pip install などで毎回必要なライブラリをインストールするセルを用意
  • 長時間実行が必要なら Colab Pro / RunPod などへの移行も検討
  • 定期的に Drive やファイルパスをチェック
  • ノートブックの再起動後は「セルの最初から再実行」を意識する

PyTorch のインストールに関連するエラー

ImportError: /usr/local/lib/python3.11/dist-packages/torch/lib/libtorch_cuda.so: undefined symbol: ncclMemFree

解決方法

  1. PyTorch と CUDA のバージョンを一致させる Google ColabでCUDAとPyTorchが互換性のあるバージョンを手動でインストールする必要があります。次のコマンドを実行して、正しいバージョンをインストールします。
!pip uninstall torch torchvision torchaudio -y
!pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2+cu118 -f https://download.pytorch.org/whl/torch_stable.html

このコマンドは、CUDA 11.8 に対応した PyTorch 2.0.1、torchvision 0.15.2、および torchaudio 2.0.2 をインストールします。

  1. ランタイムを再起動 インストールが完了したら、Google Colabのランタイムを再起動する必要があります。再起動後、もう一度コードを実行。

Numpy がインストールされていない、もしくは適切に利用できない状態

RuntimeError: Numpy is not available

このエラーを解決するためには、Numpy を手動でインストールする必要があります。

解決手順

  1. Numpy をインストールする まず、Numpy をインストールします。
!pip install numpy
  1. 再度実行する Numpy をインストールした後、もう一度顔補正コードを実行してみる。

もしエラーがまだ解消されない場合は、他にも依存関係が不足している可能性があるので、ランタイムの復旧を行ってみましょう。

復旧手順

  1. メニューから「ランタイム」>「ランタイムの接続を解除して削除」 を押してください
    (これでColabの環境を初期状態に戻します)
  2. 新しいランタイムを割り当てる必要があります。
    • Colab画面の上の方にある▶️【接続】ボタン(または【再接続】【ランタイムを接続】)を押して、新しく接続
  3. リセット後、必須ライブラリのインストールをします

必須ライブラリのインストール

!pip install torch==2.0.1 torchvision==0.15.2
!pip install basicsr facexlib gfpgan
!pip install -U numpy

torchtorchvision は CodeFormer 推奨バージョンに固定
basicsrfacexlibgfpgan は補完モデルに必要
numpy は汎用依存ライブラリ

CodeFormer リポジトリのクローンと依存関係インストール

!git clone https://github.com/sczhou/CodeFormer.git
%cd CodeFormer
!pip install -r requirements.txt

ここで basicsr などが重複して入ることがありますが問題ありません。

学習済みモデル(重み)のダウンロード

!mkdir -p weights
!wget https://github.com/sczhou/CodeFormer/releases/download/v0.1.0/codeformer.pth \
      -O weights/codeformer.pth

画像アップロード用セルの実行

from google.colab import files
uploaded = files.upload()

補正(推論)実行セルの実行

import torch
from basicsr.archs.codeformer_arch import CodeFormer
from torchvision.transforms.functional import to_tensor, to_pil_image
from PIL import Image

# モデルロード
device = 'cuda' if torch.cuda.is_available() else 'cpu'
net = CodeFormer(dim_embd=512, codebook_size=1024, n_heads=8, n_layers=9,
                connect_list=["32","64","128","256"]).to(device)
net.load_state_dict(torch.load('weights/codeformer.pth')['params_ema'])
net.eval()

# 画像読み込み
path = list(uploaded.keys())[0]
img = Image.open(path).convert("RGB")
inp = to_tensor(img).unsqueeze(0).to(device)

# 推論
with torch.no_grad():
    out = net(inp, w=0.7)[0]
img_restored = to_pil_image(out.cpu().clamp(0,1))

# 保存・表示
img_restored.save('restored_image.png')
display(img_restored)

出力ファイルのダウンロード(任意)

files.download('restored_image.png')

まだ解決しない場合

このエラーは、NumPy のバージョンと他のパッケージ(特に PyTorch や basicsr)との互換性が壊れていることが原因です。Colab のランタイムを再接続したあと、インストール順や互換性が崩れることがよくあります。

パッケージの競合を整理する

以下のステップで、再構築できます。

ステップ①:ランタイムのリセット(再確認)

  • 「ランタイム」>「ランタイムを出荷時設定にリセット」
  • その後「接続」し直す
  • ノートブックを最初からやり直す

ステップ②:競合パッケージをクリアして再インストール

以下を 順番通りにセルで実行

# 最初に旧パッケージを削除(特に古いtorchやnumpy関連)
!pip uninstall -y torch torchvision torchaudio numpy
# 正しい組み合わせで再インストール(Colabに最適)
!pip install torch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2
!pip install numpy==1.24.3
# CodeFormer用ライブラリ
!pip install basicsr facexlib gfpgan
# CodeFormer本体をクローン
!git clone https://github.com/sczhou/CodeFormer.git
%cd CodeFormer
!pip install -r requirements.txt

リセットが必要な理由

  • もともとColabにはPyTorch 2.1系+CUDA 12.1の組み合わせが入っています
  • そこに違うバージョン(例えばCUDA 11.8向けとか)を無理にインストールすると、CUDAライブラリやNCCLライブラリが壊れます
  • 結果、undefined symbol: ncclMemFree など「ライブラリシンボルが見つからない」という致命的エラーになります
  • Colabでは、壊れた環境を元に戻すにはリセットしかありません。

その他の手段

RunPod公式サイト

Colab以外の手段として、テンプレートの用意されているレンタルクラウドGPUの”RunPod”を使用するという方法もあります。
RunPod の方が扱いやすいと感じるかどうかは、人それぞれですが、すでにStable Diffusion を経験されていたり、CodeFormer や GFPGAN といった 画像修復・顔補正系の画像生成ツールも、RunPod のような GPU クラウド環境の方が扱いやすい傾向があります。

Colab vs RunPod の比較(画像生成・LoRA学習ユーザー向け)

項目Google ColabRunPod
使い勝手ノートブック形式。UIはややプログラミング寄り普通のデスクトップ環境に近い。GUI派にもやさしい
環境構築毎回インストールが必要(リセットされる)永続ストレージで一度セットすれば再利用できる
GPUの安定性無料版は不安定・競争ありGPU専有。確保すれば安定稼働できる
使える時間最大12時間(Pro)でも強制切断あり自分が止めるまで無制限に使える
エラーの頻度Drive連携、切断、再接続などで混乱しやすいローカルPC感覚で安定的に使える
コスト無料でも使える(Proは月1,300円〜)使った分だけ課金(1時間数十円〜)
相性コーディング学習・軽作業向け本格的な画像生成・学習に最適

RunPod が向いているタイプ

  • LoRA や DreamBooth の長時間学習を行う
  • Kohya_ss、AUTOMATIC1111などGUIツールを活用したい
  • CUDAやPyTorchの設定に時間を取られたくない
  • ローカルPCのスペックが不十分または重くしたくない
  • 初心者であっても、直感的に画像生成がしたい

一方で、Colabが向いている人

  • 完全無料でまず試したい
  • GPUをちょっと使ってみたい(短時間でOK)
  • Jupyter Notebook に慣れている/Pythonコード中心で操作したい
  • URLをコピーしました!
目次