xinntao / Real-ESRGAN

Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration.
BSD 3-Clause "New" or "Revised" License
28.46k stars 3.57k forks source link

No module named 'torchvision.transforms.functional_tensor' #841

Open purgenetik opened 2 months ago

purgenetik commented 2 months ago

This error is generated trying to run colab demo (step 3) https://colab.research.google.com/drive/1k2Zod6kSHEvraybHl50Lys0LerhyTMCo?usp=sharing

and any other code attempts give the same error Any ideas how to fix it?

Traceback (most recent call last): File "/content/Real-ESRGAN/inference_realesrgan.py", line 5, in from basicsr.archs.rrdbnet_arch import RRDBNet File "/usr/local/lib/python3.10/dist-packages/basicsr/init.py", line 4, in from .data import * File "/usr/local/lib/python3.10/dist-packages/basicsr/data/init.py", line 22, in _dataset_modules = [importlib.import_module(f'basicsr.data.{file_name}') for file_name in dataset_filenames] File "/usr/local/lib/python3.10/dist-packages/basicsr/data/init.py", line 22, in _dataset_modules = [importlib.import_module(f'basicsr.data.{file_name}') for file_name in dataset_filenames] File "/usr/lib/python3.10/importlib/init.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "/usr/local/lib/python3.10/dist-packages/basicsr/data/realesrgan_dataset.py", line 11, in from basicsr.data.degradations import circular_lowpass_kernel, random_mixed_kernels File "/usr/local/lib/python3.10/dist-packages/basicsr/data/degradations.py", line 8, in from torchvision.transforms.functional_tensor import rgb_to_grayscale ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'

WallaceCCWong commented 2 months ago

edit file "degradation.py" line 8 from: from torchvision.transforms.functional_tensor import rgb_to_grayscale to: from torchvision.transforms._functional_tensor import rgb_to_grayscale

VATHIAR commented 2 months ago

for anyone found it difficult to find the file,

# Path to the file
file_path = '/usr/local/lib/python3.10/dist-packages/basicsr/data/degradations.py'

# Open the file, read its contents, and replace the desired line
with open(file_path, 'r') as file:
    code = file.read()

# Replace the import line
modified_code = code.replace(
    "from torchvision.transforms.functional_tensor import rgb_to_grayscale",
    "from torchvision.transforms._functional_tensor import rgb_to_grayscale"
)

# Write the modified code back to the file
with open(file_path, 'w') as file:
    file.write(modified_code)
amrakm commented 1 month ago

or downgrade your torchvision to =0.14.1