Inpaint-Anything
Inpaint-Anything copied to clipboard
remove_anything.py SamPredictor Error
Hi, I'm getting the error below. Same issue with #34 but that solution doesn't work for me. Please note that I'm a designer and my code knowledge is very basic. I use Windows 10.
I typed these line by line at CMD and everything installed succesfully without errors.
python -m pip install torch torchvision torchaudio
python -m pip install -e segment_anything
python -m pip install -r lama_requirements_windows.txt
Then I wanted to test remove_anything example code and I got the error below.
D:\inpaint_anything\Inpaint-Anything>python remove_anything.py --input_img ./example/remove-anything/dog.jpg --coords_type key_in --point_coords 200 450 --point_labels 1 --dilate_kernel_size 15 --output_dir ./results --sam_model_type "vit_h" --sam_ckpt ./pretrained_models/sam_vit_h_4b8939.pth --lama_config ./lama/configs/prediction/default.yaml --lama_ckpt ./pretrained_models/big-lama
Traceback (most recent call last):
File "D:\inpaint_anything\Inpaint-Anything\remove_anything.py", line 8, in <module>
from sam_segment import predict_masks_with_sam
File "D:\inpaint_anything\Inpaint-Anything\sam_segment.py", line 9, in <module>
from segment_anything import SamPredictor, sam_model_registry
ImportError: cannot import name 'SamPredictor' from 'segment_anything' (unknown location)
Then I tried using miniconda CMD for whole process and I got a different error as seen below. Any help is appreciated.
(base) D:\inpaint_anything\Inpaint-Anything>python remove_anything.py --input_img ./example/remove-anything/dog.jpg --coords_type key_in --point_coords 200 450 --point_labels 1 --dilate_kernel_size 15 --output_dir ./results --sam_model_type "vit_h" --sam_ckpt ./pretrained_models/sam_vit_h_4b8939.pth --lama_config ./lama/configs/prediction/default.yaml --lama_ckpt ./pretrained_models/big-lama
Traceback (most recent call last):
File "D:\inpaint_anything\Inpaint-Anything\remove_anything.py", line 9, in <module>
from lama_inpaint import inpaint_img_with_lama
File "D:\inpaint_anything\Inpaint-Anything\lama_inpaint.py", line 19, in <module>
from saicinpainting.evaluation.utils import move_to_device
File "D:\inpaint_anything\Inpaint-Anything\lama\saicinpainting\evaluation\__init__.py", line 6, in <module>
from saicinpainting.evaluation.losses.base_loss import SSIMScore, LPIPSScore, FIDScore
File "D:\inpaint_anything\Inpaint-Anything\lama\saicinpainting\evaluation\losses\base_loss.py", line 15, in <module>
from .lpips import PerceptualLoss
File "D:\inpaint_anything\Inpaint-Anything\lama\saicinpainting\evaluation\losses\lpips.py", line 15, in <module>
from saicinpainting.utils import get_shape
File "D:\inpaint_anything\Inpaint-Anything\lama\saicinpainting\utils.py", line 12, in <module>
from pytorch_lightning import seed_everything
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\__init__.py", line 28, in <module>
from pytorch_lightning import metrics # noqa: E402
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\metrics\__init__.py", line 14, in <module>
from pytorch_lightning.metrics.classification import ( # noqa: F401
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\metrics\classification\__init__.py", line 14, in <module>
from pytorch_lightning.metrics.classification.accuracy import Accuracy # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\metrics\classification\accuracy.py", line 18, in <module>
from pytorch_lightning.metrics.functional.accuracy import _accuracy_compute, _accuracy_update
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\metrics\functional\__init__.py", line 14, in <module>
from pytorch_lightning.metrics.functional.accuracy import accuracy # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\metrics\functional\accuracy.py", line 18, in <module>
from pytorch_lightning.metrics.classification.helpers import _input_format_classification, DataType
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\metrics\classification\helpers.py", line 19, in <module>
from pytorch_lightning.metrics.utils import select_topk, to_onehot
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\metrics\utils.py", line 18, in <module>
from pytorch_lightning.utilities import rank_zero_warn
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\utilities\__init__.py", line 18, in <module>
from pytorch_lightning.utilities.apply_func import move_data_to_device # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\utilities\apply_func.py", line 25, in <module>
from pytorch_lightning.utilities.imports import _compare_version, _TORCHTEXT_AVAILABLE
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\utilities\imports.py", line 76, in <module>
_HYDRA_EXPERIMENTAL_AVAILABLE = _module_available("hydra.experimental")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\site-packages\pytorch_lightning\utilities\imports.py", line 35, in _module_available
return find_spec(module_path) is not None
^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib.util>", line 94, in find_spec
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\__init__.py", line 5, in <module>
from hydra import utils
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\utils.py", line 8, in <module>
import hydra._internal.instantiate._instantiate2
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\_internal\instantiate\_instantiate2.py", line 11, in <module>
from hydra._internal.utils import _locate
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\_internal\utils.py", line 17, in <module>
from hydra.core.utils import get_valid_filename, validate_config_path
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\core\utils.py", line 19, in <module>
from hydra.core.hydra_config import HydraConfig
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\core\hydra_config.py", line 6, in <module>
from hydra.conf import HydraConf
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\conf\__init__.py", line 45, in <module>
class JobConf:
File "C:\Users\emir\miniconda3\Lib\site-packages\hydra\conf\__init__.py", line 70, in JobConf
@dataclass
^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\dataclasses.py", line 1230, in dataclass
return wrap(cls)
^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\dataclasses.py", line 1220, in wrap
return _process_class(cls, init, repr, eq, order, unsafe_hash,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\dataclasses.py", line 958, in _process_class
cls_fields.append(_get_field(cls, name, type, kw_only))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\emir\miniconda3\Lib\dataclasses.py", line 815, in _get_field
raise ValueError(f'mutable default {type(f.default)} for field '
ValueError: mutable default <class 'hydra.conf.JobConf.JobConfig.OverrideDirname'> for field override_dirname is not allowed: use default_factory
Im having the same problem,
Im having the same problem,
Im having the same problem,
Hi @filibis and @lihaibo123as , were you able to solve this problem? I am getting the same issue. It appears that dataclasses.py does not want to see mutable default values.
Hi @alireza18878 , unfortunately not. I eventually gave up.
this particular error can be solved by changing the python version from 3.11 to 3.10. What you can do is create a new conda environment by the following command: "conda create -n env_name python==3.10" this will create a new conda env then you can install everything again in the new environment and the error is solved.