mirror of
https://github.com/vladmandic/automatic
synced 2026-09-08 05:48:42 +02:00
@@ -37,6 +37,8 @@
|
||||
- unnecessary secondary prompt if same
|
||||
- js fetch exception handling
|
||||
- detailer handling of stop/skip/pause
|
||||
- cleanup dead rife code, thanks @Anai-Guo
|
||||
- lumina-dimoo attention-kwargs, thanks @Anai-Guo
|
||||
|
||||
## Update for 2026-08-26
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
- Benchmark tool productize: @CalamitousFelicitousness
|
||||
- Control tab verify overrides handling, @vladmandic
|
||||
- LTX: Create pre-quant for LTX-2.5
|
||||
- LTX: Implement LTX2DFRPipeline
|
||||
- ROCm: v10
|
||||
- Modular: cache hooks, @vladmandic
|
||||
- Modular: disable legacy PAG, etc., @vladmandic
|
||||
|
||||
+1
-1
@@ -719,7 +719,7 @@ def install_rocm_zluda():
|
||||
zluda_installer.load()
|
||||
except Exception as e:
|
||||
log.error(f'Load ZLUDA: {e}')
|
||||
else: # TODO rocm: switch to pytorch source when it becomes available
|
||||
else:
|
||||
if device is None:
|
||||
log.error('ROCm: no agent found - make sure that graphics driver is installed and up to date')
|
||||
if device is not None and device.therock is not None:
|
||||
|
||||
@@ -107,7 +107,6 @@ def load_safetensors(name, network_on_disk: network.NetworkOnDisk) -> network.Ne
|
||||
if key_network_without_network_parts.startswith("unet") or key_network_without_network_parts.startswith("transformer"):
|
||||
key_network_without_network_parts = "lora_" + key_network_without_network_parts
|
||||
key_network_without_network_parts = key_network_without_network_parts.replace("clip_g","lora_te2").replace("clip_l","lora_te")
|
||||
# TODO lora: add t5 key support for sd35/f1
|
||||
|
||||
elif len(parts) > 5: # messy handler for diffusers peft lora
|
||||
key_network_without_network_parts = '_'.join(parts[:-2])
|
||||
|
||||
@@ -117,16 +117,6 @@ def fill(image, mask):
|
||||
return image_mod.convert("RGB")
|
||||
|
||||
|
||||
"""
|
||||
[docs](https://huggingface.co/docs/transformers/v4.36.1/en/model_doc/sam#overview)
|
||||
TODO: additional masking algorithms
|
||||
- PerSAM
|
||||
- REMBG
|
||||
- https://huggingface.co/docs/transformers/tasks/semantic_segmentation
|
||||
- transformers.pipeline.MaskGenerationPipeline: https://huggingface.co/models?pipeline_tag=mask-generation
|
||||
- transformers.pipeline.ImageSegmentationPipeline: https://huggingface.co/models?pipeline_tag=image-segmentation
|
||||
"""
|
||||
|
||||
MODELS = {
|
||||
'None': None,
|
||||
'Facebook SAM ViT Base': 'facebook/sam-vit-base',
|
||||
|
||||
@@ -340,9 +340,9 @@ class UpscalerSeedVR(Upscaler):
|
||||
images=tensor,
|
||||
cfg_scale=cfg_scale,
|
||||
cfg_rescale=cfg_rescale,
|
||||
steps=steps, # TODO SeedVR steps
|
||||
batch_size=batch_size, # TODO SeedVR batch size
|
||||
temporal_overlap=batch_overlap, # TODO SeedVR temporal overlap
|
||||
steps=steps,
|
||||
batch_size=batch_size,
|
||||
temporal_overlap=batch_overlap,
|
||||
seed=seed,
|
||||
res_w=width,
|
||||
device=devices.device,
|
||||
|
||||
@@ -1558,7 +1558,6 @@ def reload_model_weights(sd_model=None, info: CheckpointInfo | None = None, op='
|
||||
unload_model_weights(op=op)
|
||||
sd_model = None
|
||||
timer.load = timer.Timer()
|
||||
# TODO model load: implement model in-memory caching
|
||||
timer.load.record("config")
|
||||
if sd_model is None or force:
|
||||
sd_model = None
|
||||
|
||||
@@ -55,7 +55,7 @@ def get_default_modes(cmd_opts, mem_stat):
|
||||
default_cross_attention = ['Dynamic attention']
|
||||
|
||||
if devices.get_optimal_device_name() != "cpu":
|
||||
os.environ.setdefault('SDNQ_USE_OPENVINO_MM', '0') # TODO sdnq openvino: this is too late as sdnq already initialized it
|
||||
os.environ.setdefault('SDNQ_USE_OPENVINO_MM', '0')
|
||||
|
||||
return (
|
||||
default_offload_mode,
|
||||
|
||||
@@ -90,6 +90,7 @@ def create_settings(cmd_opts):
|
||||
|
||||
"advanced_sep": OptionInfo("<h2>Advanced Options</h2>", "", gr.HTML),
|
||||
"sd_checkpoint_autoload": OptionInfo(True, "Model auto-load on start"),
|
||||
"model_modular_enable": OptionInfo(False, "Model convert to modular pipelines"),
|
||||
"sd_parallel_load": OptionInfo(True, "Model load using multiple threads"),
|
||||
"sd_checkpoint_autodownload": OptionInfo(True, "Model auto-download on demand"),
|
||||
"stream_load": OptionInfo(False, "Model load using streams", gr.Checkbox),
|
||||
@@ -107,7 +108,6 @@ def create_settings(cmd_opts):
|
||||
# --- Model Options ---
|
||||
options_templates.update(options_section(('model_options', "Model Options"), {
|
||||
"model_modular_sep": OptionInfo("<h2>Modular Pipelines</h2>", "", gr.HTML),
|
||||
"model_modular_enable": OptionInfo(False, "Enable modular pipelines (experimental)"),
|
||||
"model_google_sep": OptionInfo("<h2>Google GenAI</h2>", "", gr.HTML),
|
||||
"google_use_vertexai": OptionInfo(False, "Google cloud use VertexAI endpoints"),
|
||||
"google_api_key": OptionInfo("", "Google cloud API key", gr.Textbox, secret=True, env_var='GOOGLE_API_KEY'),
|
||||
|
||||
Reference in New Issue
Block a user