From 80cadfe7346bde2cadea5be04eebeb5ec8f7448e Mon Sep 17 00:00:00 2001 From: Haoming Date: Wed, 6 Aug 2025 13:52:18 +0800 Subject: [PATCH] ckpt --- modules/cmd_args.py | 6 +----- modules/paths_internal.py | 20 +++++++++----------- modules/sd_models.py | 10 ---------- modules/shared.py | 2 +- modules/shared_cmd_options.py | 2 +- 5 files changed, 12 insertions(+), 28 deletions(-) diff --git a/modules/cmd_args.py b/modules/cmd_args.py index a5e12f11..7d66d9fa 100644 --- a/modules/cmd_args.py +++ b/modules/cmd_args.py @@ -3,8 +3,7 @@ import json import os from pathlib import Path -from modules.paths_internal import data_path, extensions_builtin_dir, extensions_dir, models_path, normalized_filepath, script_path, sd_model_file # noqa: F401 -from backend.args import parser +from modules.paths_internal import data_path, extensions_builtin_dir, extensions_dir, parser, models_path, normalized_filepath, script_path # noqa: F401 parser.add_argument("-f", action="store_true", help=argparse.SUPPRESS) @@ -18,9 +17,6 @@ parser.add_argument("--skip-prepare-environment", action="store_true", help="lau parser.add_argument("--skip-install", action="store_true", help="launch.py argument: skip installation of packages") parser.add_argument("--dump-sysinfo", action="store_true", help="launch.py argument: dump limited sysinfo file (without information about extensions, options) to disk and quit") parser.add_argument("--loglevel", type=str, help="log level; one of: CRITICAL, ERROR, WARNING, INFO, DEBUG", default=None) -parser.add_argument("--data-dir", type=normalized_filepath, default=os.path.dirname(os.path.dirname(os.path.realpath(__file__))), help="base path where all user data is stored") -parser.add_argument("--models-dir", type=normalized_filepath, default=None, help="base path where models are stored; overrides --data-dir") -parser.add_argument("--ckpt", type=normalized_filepath, default=sd_model_file, help="path to checkpoint of stable diffusion model; if specified, this checkpoint will be added to the list of checkpoints and loaded") parser.add_argument("--ckpt-dir", type=normalized_filepath, default=None, help="Path to directory with stable diffusion checkpoints") parser.add_argument("--vae-dir", type=normalized_filepath, default=None, help="Path to directory with VAE files") parser.add_argument("--text-encoder-dir", type=normalized_filepath, default=None, help="Path to directory with text encoder models") diff --git a/modules/paths_internal.py b/modules/paths_internal.py index b9d7b78d..457b7fbe 100644 --- a/modules/paths_internal.py +++ b/modules/paths_internal.py @@ -1,6 +1,7 @@ -"""this module defines internal paths used by program and is safe to import before dependencies are installed in launch.py""" +""" +this module defines internal paths used by program and is safe to import before dependencies are installed in launch.py +""" -import argparse import os import shlex import sys @@ -15,21 +16,18 @@ cwd = os.getcwd() modules_path = os.path.dirname(os.path.realpath(__file__)) script_path = os.path.dirname(modules_path) -sd_model_file = os.path.join(script_path, "model.ckpt") -default_sd_model_file = sd_model_file +from backend.args import parser -# Parse the --data-dir flag first so we can use it as a base for our other argument default values -parser_pre = argparse.ArgumentParser(add_help=False) -parser_pre.add_argument("--data-dir", type=str, default=os.path.dirname(modules_path), help="base path where all user data is stored") -parser_pre.add_argument("--models-dir", type=str, default=None, help="base path where models are stored; overrides --data-dir") -cmd_opts_pre = parser_pre.parse_known_args()[0] +parser.add_argument("--data-dir", type=str, default=os.path.dirname(modules_path), help="base path where all user data is stored") +parser.add_argument("--model-ref", type=str, default=None, help="base path for all models") +cmd_opts_pre, _ = parser.parse_known_args() data_path = cmd_opts_pre.data_dir -models_path = cmd_opts_pre.models_dir if cmd_opts_pre.models_dir else os.path.join(data_path, "models") +models_path = cmd_opts_pre.model_ref or os.path.join(data_path, "models") extensions_dir = os.path.join(data_path, "extensions") extensions_builtin_dir = os.path.join(script_path, "extensions-builtin") config_states_dir = os.path.join(script_path, "config_states") -default_output_dir = os.path.join(data_path, "outputs") +default_output_dir = os.path.join(data_path, "output") roboto_ttf_file = os.path.join(modules_path, "Roboto-Regular.ttf") diff --git a/modules/sd_models.py b/modules/sd_models.py index cc8bf30d..16df3100 100644 --- a/modules/sd_models.py +++ b/modules/sd_models.py @@ -157,18 +157,8 @@ def list_models(): checkpoints_list.clear() checkpoint_aliases.clear() - cmd_ckpt = shared.cmd_opts.ckpt - model_list = modelloader.load_models(model_path=model_path, model_url=None, command_path=shared.cmd_opts.ckpt_dir, ext_filter=[".ckpt", ".safetensors", ".gguf"], download_name=None, ext_blacklist=[".vae.ckpt", ".vae.safetensors"]) - if os.path.exists(cmd_ckpt): - checkpoint_info = CheckpointInfo(cmd_ckpt) - checkpoint_info.register() - - shared.opts.data['sd_model_checkpoint'] = checkpoint_info.title - elif cmd_ckpt is not None and cmd_ckpt != shared.default_sd_model_file: - print(f"Checkpoint in --ckpt argument not found (Possible it was moved to {model_path}: {cmd_ckpt}", file=sys.stderr) - for filename in model_list: checkpoint_info = CheckpointInfo(filename) checkpoint_info.register() diff --git a/modules/shared.py b/modules/shared.py index a7bb05f5..80813312 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -6,7 +6,7 @@ import gradio as gr from backend import memory_management from modules import options, shared_cmd_options, shared_gradio_themes, shared_items, util -from modules.paths_internal import data_path, default_sd_model_file, extensions_builtin_dir, extensions_dir, models_path, script_path, sd_model_file # noqa: F401 +from modules.paths_internal import data_path, extensions_builtin_dir, extensions_dir, models_path, script_path # noqa: F401 if TYPE_CHECKING: from modules import memmon, shared_state, shared_total_tqdm, styles diff --git a/modules/shared_cmd_options.py b/modules/shared_cmd_options.py index ad76d507..8f6badf1 100644 --- a/modules/shared_cmd_options.py +++ b/modules/shared_cmd_options.py @@ -2,7 +2,7 @@ import os import launch from modules import cmd_args, script_loading -from modules.paths_internal import data_path, default_sd_model_file, extensions_builtin_dir, extensions_dir, models_path, script_path, sd_model_file # noqa: F401 +from modules.paths_internal import data_path, extensions_builtin_dir, extensions_dir, models_path, script_path # noqa: F401 parser = cmd_args.parser