2026年3月現在、Google Colabで Real-ESRGAN を普通にインストールするとエラーが出るようです。
例えば次のようにインストールすると、
!pip install -q basicsr
!pip install -q realesrgan
!pip install -q gfpgan
ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'
というエラーが出ました。
原因
torchvision.transforms.functional_tensor が torchvisionの新しいバージョンで削除されたようです。
以下のIssueでも報告されています。
ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor' #768
解決方法
それぞれのGitHubを参考にして、
BasicSR と Real-ESRGAN をGitHubからインストールします。
確認したバージョンは以下です。
| ライブラリ | バージョン |
|---|---|
| Real-ESRGAN | v0.3.0 |
| BasicSR | v1.4.2 |
| torch | 2.10.0 |
| torchvision | 0.25.0 |
インストール
# ===== BasicSR =====
!git clone --depth 1 https://github.com/XPixelGroup/BasicSR.git
!cd BasicSR && pip install -r requirements.txt && python setup.py develop
# ===== Real-ESRGAN =====
!git clone --depth 1 https://github.com/xinntao/Real-ESRGAN.git
!pip install facexlib
!pip install gfpgan
!cd Real-ESRGAN && pip install -r requirements.txt && python setup.py develop
ランタイム再起動が必要
インストール直後は
Real-ESRGANのインストール自体は完了しているものの、
Pythonの実行環境がその変更をまだ認識できていない
状態になっています。
そのため、Colabのランタイムを再起動してください。
モデルについて
Real-ESRGANには主に次の2種類のモデルがあります。
RRDBNet
- 高画質
- モデルが重い
- VRAMを多く消費
SRVGGNetCompact
- 軽量
- モバイル向け
- CPUでも高速
用途に応じて使い分けるとよいです。
Real-ESRGANのサンプルコード
画像を超解像する簡単なサンプルコードです。
# ===== BasicSR =====
!git clone --depth 1 https://github.com/XPixelGroup/BasicSR.git
!cd BasicSR && pip install -r requirements.txt && python setup.py develop
# ===== Real-ESRGAN =====
!git clone --depth 1 https://github.com/xinntao/Real-ESRGAN.git
!pip install facexlib
!pip install gfpgan
!cd Real-ESRGAN && pip install -r requirements.txt && python setup.py develop
import cv2
import numpy as np
from PIL import Image
import torch
import requests
img = cv2.imread("sample.jpg") # ファイル名はアップロードしたファイル名
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# RRDBNetを使う場合
from realesrgan import RealESRGANer
from basicsr.archs.rrdbnet_arch import RRDBNet
model = RRDBNet(
num_in_ch=3,
num_out_ch=3,
num_feat=64,
num_block=23,
num_grow_ch=32,
scale=4
)
upsampler = RealESRGANer(
scale=4,
model_path="https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth",
model=model,
tile=256,
tile_pad=10,
pre_pad=0,
half=True
)
output, _ = upsampler.enhance(img)
Image.fromarray(output).save("super_res1.png") # 出力ファイル名は任意
# SRVGGNetCompactを使う場合
from realesrgan import RealESRGANer
from basicsr.archs.srvgg_arch import SRVGGNetCompact
model = SRVGGNetCompact(
num_in_ch=3,
num_out_ch=3,
num_feat=64,
num_conv=32,
upscale=4,
act_type='prelu'
)
upsampler = RealESRGANer(
scale=4,
model_path="https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesr-general-wdn-x4v3.pth",
model=model
)
output, _ = upsampler.enhance(img)
Image.fromarray(output).save("super_res2.png") # 出力ファイル名は任意
まとめ
Google Colabでは現在、
pip install realesrgan
でインストールすると、torchvisionの仕様変更によりエラーが出る場合あります。
その場合は
- BasicSR
- Real-ESRGAN
をGitHubから直接インストールすると解決できました。