我安装的环境是torch==2.4.1 和 torchvision==0.19.1的环境,
functional_tensor
是torchvision
在 0.9.0 及以上版本 中新增的功能- 若
torchvision
版本低于此要求,或与torch
版本不兼容,会导致该模块无法导入
但是我的版本高也不行。
ImportError: cannot import name 'functional_tensor' from 'torchvision.transforms'
,问题核心在于 新版本 torchvision
已弃用 functional_tensor
模块。
问题来源于:
-
模块弃用
torchvision.transforms.functional_tensor
在较新版本的torchvision
(如 0.19.1)中已被官方弃用,其功能已迁移到torchvision.transforms.functiona
-
第三方库兼容性
项目中可能依赖的库(如basicsr
、RealESRGAN
)尚未适配新版torchvision
,仍强制引用functional_tensor
。
解决方法: 直接修改代码导入路径
找到报错文件中引用 functional_tensor
的代码行(例如 degradations.py
第8行),将:
from torchvision.transforms.functional_tensor import rgb_to_grayscale
改成
from torchvision.transforms.functional import rgb_to_grayscale
解决!