问题

在进行深度学习训练过程中出现ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'报错,多方查阅资料后得到了解决方案。

关于我的环境:CUDA==12.1 torch==2.4.1 GPU==4090D

原先进行深度学习用的CUDA11.3,torch1.2.1,但是在训练时出现nvrtc: error: invalid value for --gpu-architecture (-arch)报错,原因是GPU架构太新啥的,需要更新CUDA和Torch,原先没有ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'这个报错,在更新完后才出现报错。

报错后尝试过重新安装Torch,CUDA(GPT说是环境不匹配),均不能解决问题

原因及解决方案

出现ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'的原因大概是原先的“名字”改了,但是安装的basicsr包中的名字没有改,所以会报错。

只要在miniconda3/lib/python3.12/site-packages/basicsr/data/degradations.py文件中第8行将
from torchvision.transforms.functional_tensor import rgb_to_grayscale
改成from torchvision.transforms._functional_tensor import rgb_to_grayscale
或者改成from torchvision.transforms.functional import rgb_to_grayscale
均能够解决问题。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐