TencentARC / GFPGAN

GFPGAN aims at developing Practical Algorithms for Real-world Face Restoration.
Other
35.04k stars 5.8k forks source link

PLEASE HELP ANYONE - THIS ERROR (ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor') #506

Open misssunitaparker opened 4 months ago

misssunitaparker commented 4 months ago

Traceback (most recent call last): File "E:\SOFT\GFPGAN\GFPGAN\inference_gfpgan.py", line 7, in from basicsr.utils import imwrite File "C:\Users\MKN\anaconda3\Lib\site-packages\basicsr__init.py", line 4, in from .data import * File "C:\Users\MKN\anaconda3\Lib\site-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 "C:\Users\MKN\anaconda3\Lib\site-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 "C:\Users\MKN\anaconda3\Lib\importlib\init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\MKN\anaconda3\Lib\site-packages\basicsr\data\realesrgan_dataset.py", line 11, in from basicsr.data.degradations import circular_lowpass_kernel, random_mixed_kernels File "C:\Users\MKN\anaconda3\Lib\site-packages\basicsr\data\degradations.py", line 8, in from torchvision.transforms.functional_tensor import rgb_to_grayscale

![Uploading bdbe9c6d3f2e42f9f79e56e414fe27daed6c1ed0..jpg…]()

J-McFc commented 4 months ago

Have you managed to fix it? I'm getting the same when I run the script

DNucX commented 4 months ago

@misssunitaparker @J-McFc

Go to the file degradations.py. It's located in the error message. For example, for @misssunitaparker, it's:

File "C:\Users\MKN\anaconda3\Lib\site-packages\basicsr\data\degradations.py"

Open the file degradations.py and edit line 8 from:

from torchvision.transforms.functional_tensor import rgb_to_grayscale

to:

from torchvision.transforms.functional import rgb_to_grayscale

Hopefully this works.

J-McFc commented 4 months ago

@DNucX It works, you're a legend, thanks mate.

dinihanafi commented 2 months ago

ModuleNotFoundError Traceback (most recent call last) Cell In[18], line 3 1 from pytorchvideo.data import LabeledVideoDataset, Kinetics, make_clip_sampler ----> 3 from pytorchvideo.transforms import (ApplyTransformToKey, Normalize, RandomShortSideScale, UniformTemporalSubsample, 4 ) 6 from torchvision.transforms import (Compose, Lambda, RandomCrop, RandomHorizontalFlip, Resize) 8 from torchvision.transforms._transforms_video import (CenterCropVideo, NormalizeVideo)

File c:\Users\pnanurdb\AppData\Local\Programs\Python\Python312\Lib\site-packages\pytorchvideo\transforms__init__.py:3 1 # Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. ----> 3 from .augmix import AugMix # noqa 4 from .mix import CutMix, MixUp, MixVideo # noqa 5 from .rand_augment import RandAugment # noqa

File c:\Users\pnanurdb\AppData\Local\Programs\Python\Python312\Lib\site-packages\pytorchvideo\transforms\augmix.py:6 3 from typing import Any, Dict, Optional 5 import torch ----> 6 from pytorchvideo.transforms.augmentations import ( 7 _AUGMENTATION_MAX_LEVEL, 8 AugmentTransform, 9 _decreasing_int_to_arg, 10 _decreasing_to_arg, 11 _increasing_magnitude_to_arg, 12 _increasing_randomly_negate_to_arg, ... ----> 9 import torchvision.transforms.functional_tensor as F_t 10 from torchvision.transforms.functional import InterpolationMode 13 # Maximum global magnitude used for video augmentation.

ModuleNotFoundError: No module named 'torchvision.transforms.functional_tensor'

Can anyone help me with this error also? Thanks in advanced

sunilkumardash9 commented 2 months ago

@dinihanafi change torchvision.transforms.functional_tensor to torchvision.transforms.functional

donwany commented 3 weeks ago

@DNucX It works, you're a legend, thanks mate.

Mine was

nano /home//miniconda3/envs/gfpgan-demo/lib/python3.12/site-packages/basicsr/data/degradations.py

change line to

from torchvision.transforms.functional_tensor import rgb_to_grayscale to: from torchvision.transforms.functional import rgb_to_grayscale

Then it worked.!

Svytta commented 2 weeks ago

TRY THIS:

import fileinput import sys

def update_degradations_import(file_path):

Original line we want to replace:

original_line = 'from torchvision.transforms.functional_tensor import rgb_to_grayscale\n'

New line that we want to write:

new_line = 'from torchvision.transforms.functional import rgb_to_grayscale\n'

Open the file in read and write mode:

with fileinput.FileInput(file_path, inplace=True, backup='.bak') as file: for line in file:

Replace the original line with the new line:

if line == original_line: sys.stdout.write(new_line) else: sys.stdout.write(line)

Path to the downgrade file that we want to modify, in my case:

file_path = '/usr/local/lib/python3.10/dist-packages/basicsr/data/degradations.py'

Call function to update import

update_degradations_import(file_path) print(f"Updated import in {file_path}")