问题
在进行深度学习训练过程中出现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
均能够解决问题。