From 517fa7666d5065b26f8277ba1744abde6a26cf2e Mon Sep 17 00:00:00 2001 From: Qing Date: Thu, 1 Feb 2024 09:01:43 +0800 Subject: [PATCH] fix load invalid diffusers model_index.json --- iopaint/download.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/iopaint/download.py b/iopaint/download.py index ce916aa..b603804 100644 --- a/iopaint/download.py +++ b/iopaint/download.py @@ -61,7 +61,7 @@ def get_sd_model_type(model_abs_path: str) -> ModelType: load_safety_checker=False, local_files_only=True, num_in_channels=9, - config_files=get_config_files() + config_files=get_config_files(), ) model_type = ModelType.DIFFUSERS_SD_INPAINT except ValueError as e: @@ -86,7 +86,7 @@ def get_sdxl_model_type(model_abs_path: str) -> ModelType: load_safety_checker=False, local_files_only=True, num_in_channels=9, - config_files=get_config_files() + config_files=get_config_files(), ) if model.unet.config.in_channels == 9: # https://github.com/huggingface/diffusers/issues/6610 @@ -199,7 +199,11 @@ def scan_models() -> List[ModelInfo]: diffusers_model_names = [] for it in cache_dir.glob("**/*/model_index.json"): with open(it, "r", encoding="utf-8") as f: - data = json.load(f) + try: + data = json.load(f) + except: + continue + _class_name = data["_class_name"] name = folder_name_to_show_name(it.parent.parent.parent.name) if name in diffusers_model_names: