Google Colab中Real-ESRGAN推理报错:找不到functional_tensor模块
解决Real-ESRGAN在Colab中因torchvision版本导致的ModuleNotFoundError
问题原因
Colab默认安装的torchvision版本已更新到0.17+,旧版basicsr依赖的torchvision.transforms.functional_tensor模块在torchvision 0.15起被弃用,0.17版本直接移除,导致导入失败。GitHub上的#624提交已修复该问题——将rgb_to_grayscale的导入源改为torchvision.transforms.functional,但你当前安装的basicsr是旧版,需手动修复或安装新版。
解决方法
方法1:直接修改已安装的文件
Colab中degradations.py的路径是/usr/local/lib/python3.10/dist-packages/basicsr/data/degradations.py,无需手动查找文件,直接执行以下命令替换导入语句:
!sed -i 's/from torchvision.transforms.functional_tensor import rgb_to_grayscale/from torchvision.transforms.functional import rgb_to_grayscale/' /usr/local/lib/python3.10/dist-packages/basicsr/data/degradations.py
执行完成后,重新运行推理脚本即可。
方法2:安装修复后的最新版Real-ESRGAN
若不想手动修改文件,直接安装包含修复的最新版本:
- 卸载旧版basicsr:
!pip uninstall -y basicsr
- 克隆最新仓库并安装:
!git clone https://github.com/xinntao/Real-ESRGAN.git %cd Real-ESRGAN !pip install -e .
安装完成后,再运行推理脚本就不会报错了。
内容的提问来源于stack exchange,提问作者utentenuovo
相关产品推荐
相关产品推荐

