mirror of
https://github.com/vladmandic/automatic
synced 2026-09-20 01:31:13 +02:00
fix loading models
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
- fix negative prompt parsing from metadata
|
||||
- fix stable cascade progress monitoring
|
||||
- fix variation seed with hires pass
|
||||
- fix loading models trained with onetrainer
|
||||
- add variation seed info to metadata
|
||||
- workaround for scale-by when using modernui
|
||||
- lock torch-directml version
|
||||
|
||||
@@ -216,7 +216,8 @@ def decode_first_stage(model, x, full_quality=True):
|
||||
|
||||
def get_fixed_seed(seed):
|
||||
if seed is None or seed == '' or seed == -1:
|
||||
return int(random.randrange(4294967294))
|
||||
random.seed()
|
||||
seed = int(random.randrange(4294967294))
|
||||
return seed
|
||||
|
||||
|
||||
|
||||
@@ -12,10 +12,11 @@ import os.path
|
||||
from os import mkdir
|
||||
from urllib import request
|
||||
from enum import Enum
|
||||
import diffusers
|
||||
import diffusers.loaders.single_file_utils
|
||||
from rich import progress # pylint: disable=redefined-builtin
|
||||
import torch
|
||||
import safetensors.torch
|
||||
import diffusers
|
||||
from omegaconf import OmegaConf
|
||||
from transformers import logging as transformers_logging
|
||||
from ldm.util import instantiate_from_config
|
||||
@@ -1056,6 +1057,7 @@ def load_diffuser(checkpoint_info=None, already_loaded_state_dict=None, timer=No
|
||||
else:
|
||||
diffusers_load_config['config'] = get_load_config(checkpoint_info.path, model_type, config_type='json')
|
||||
if hasattr(pipeline, 'from_single_file'):
|
||||
diffusers.loaders.single_file_utils.CHECKPOINT_KEY_NAMES["clip"] = "cond_stage_model.transformer.text_model.embeddings.position_embedding.weight" # TODO patch for diffusers==0.28.0
|
||||
diffusers_load_config['use_safetensors'] = True
|
||||
diffusers_load_config['cache_dir'] = shared.opts.hfcache_dir # use hfcache instead of diffusers dir as this is for config only in case of single-file
|
||||
if shared.opts.disable_accelerate:
|
||||
|
||||
+5
-1
@@ -81,8 +81,10 @@ def apply_file_wildcards(prompt, replaced = [], not_found = [], recursion=0, see
|
||||
def apply_wildcards_to_prompt(prompt, all_wildcards, seed=-1, silent=False):
|
||||
if len(prompt) == 0:
|
||||
return prompt
|
||||
if seed > 0:
|
||||
old_state = None
|
||||
if seed > 0 and len(all_wildcards) > 0:
|
||||
random.seed(seed)
|
||||
old_state = random.getstate()
|
||||
replaced = {}
|
||||
t0 = time.time()
|
||||
for style_wildcards in all_wildcards:
|
||||
@@ -104,6 +106,8 @@ def apply_wildcards_to_prompt(prompt, all_wildcards, seed=-1, silent=False):
|
||||
shared.log.debug(f'Wildcards applied: {replaced} path="{shared.opts.wildcards_dir}" type=style time={t1-t0:.2f}')
|
||||
if (len(replaced_file) > 0 or len(not_found) > 0) and not silent:
|
||||
shared.log.debug(f'Wildcards applied: {replaced_file} missing: {not_found} path="{shared.opts.wildcards_dir}" type=file time={t2-t2:.2f} ')
|
||||
if old_state is not None:
|
||||
random.setstate(old_state)
|
||||
return prompt
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user