mirror of
https://github.com/vladmandic/automatic
synced 2026-09-02 02:50:47 +02:00
@@ -40,6 +40,7 @@
|
||||
- use base steps as-is for non sd/sdxl models
|
||||
- ui css fixes for modernui
|
||||
- support lora inside prompt selector
|
||||
- framepack video save
|
||||
|
||||
## Update for 2026-01-22
|
||||
|
||||
|
||||
@@ -309,16 +309,18 @@ def worker(
|
||||
break
|
||||
|
||||
total_generated_frames, _video_filename = save_video(
|
||||
None,
|
||||
history_pixels,
|
||||
mp4_fps,
|
||||
mp4_codec,
|
||||
mp4_opt,
|
||||
mp4_ext,
|
||||
mp4_sf,
|
||||
mp4_video,
|
||||
mp4_frames,
|
||||
mp4_interpolate,
|
||||
p=None,
|
||||
pixels=history_pixels,
|
||||
audio=None,
|
||||
binary=None,
|
||||
mp4_fps=mp4_fps,
|
||||
mp4_codec=mp4_codec,
|
||||
mp4_opt=mp4_opt,
|
||||
mp4_ext=mp4_ext,
|
||||
mp4_sf=mp4_sf,
|
||||
mp4_video=mp4_video,
|
||||
mp4_frames=mp4_frames,
|
||||
mp4_interpolate=mp4_interpolate,
|
||||
pbar=pbar,
|
||||
stream=stream,
|
||||
metadata=metadata,
|
||||
@@ -327,7 +329,23 @@ def worker(
|
||||
except AssertionError:
|
||||
shared.log.info('FramePack: interrupted')
|
||||
if shared.opts.keep_incomplete:
|
||||
save_video(None, history_pixels, mp4_fps, mp4_codec, mp4_opt, mp4_ext, mp4_sf, mp4_video, mp4_frames, mp4_interpolate=0, stream=stream, metadata=metadata)
|
||||
save_video(
|
||||
p=None,
|
||||
pixels=history_pixels,
|
||||
audio=None,
|
||||
binary=None,
|
||||
mp4_fps=mp4_fps,
|
||||
mp4_codec=mp4_codec,
|
||||
mp4_opt=mp4_opt,
|
||||
mp4_ext=mp4_ext,
|
||||
mp4_sf=mp4_sf,
|
||||
mp4_video=mp4_video,
|
||||
mp4_frames=mp4_frames,
|
||||
mp4_interpolate=0,
|
||||
pbar=pbar,
|
||||
stream=stream,
|
||||
metadata=metadata,
|
||||
)
|
||||
except Exception as e:
|
||||
shared.log.error(f'FramePack: {e}')
|
||||
errors.display(e, 'FramePack')
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
from .abnorsett_scheduler import ABNorsettScheduler
|
||||
from .bong_tangent_scheduler import BongTangentScheduler
|
||||
from .common_sigma_scheduler import CommonSigmaScheduler
|
||||
from .deis_scheduler_alt import DEISMultistepScheduler
|
||||
from .etdrk_scheduler import ETDRKScheduler
|
||||
from .langevin_dynamics_scheduler import LangevinDynamicsScheduler
|
||||
from .lawson_scheduler import LawsonScheduler
|
||||
@@ -58,15 +59,19 @@ from .variants import (
|
||||
SineSigmaScheduler,
|
||||
SmoothstepSigmaScheduler,
|
||||
SphericalFlowScheduler,
|
||||
DEIS1MultistepScheduler,
|
||||
DEIS2MultistepScheduler,
|
||||
DEIS3MultistepScheduler,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
__all__ = [ # noqa: RUF022
|
||||
# Base
|
||||
"RESUnifiedScheduler",
|
||||
"RESMultistepScheduler",
|
||||
"RESMultistepSDEScheduler",
|
||||
"RESSinglestepScheduler",
|
||||
"RESSinglestepSDEScheduler",
|
||||
"DEISMultistepScheduler",
|
||||
"ETDRKScheduler",
|
||||
"LawsonScheduler",
|
||||
"ABNorsettScheduler",
|
||||
@@ -122,6 +127,9 @@ __all__ = [
|
||||
"RESU3SScheduler",
|
||||
"RESU5SScheduler",
|
||||
"RESU6SScheduler",
|
||||
"DEIS1MultistepScheduler",
|
||||
"DEIS2MultistepScheduler",
|
||||
"DEIS3MultistepScheduler",
|
||||
]
|
||||
|
||||
BASE = [
|
||||
@@ -130,6 +138,7 @@ BASE = [
|
||||
("RES Multistep SDE", RESMultistepSDEScheduler),
|
||||
("RES Singlestep", RESSinglestepScheduler),
|
||||
("RES Singlestep SDE", RESSinglestepSDEScheduler),
|
||||
("DEIS Multistep", DEISMultistepScheduler),
|
||||
("ETDRK", ETDRKScheduler),
|
||||
("Lawson", LawsonScheduler),
|
||||
("ABNorsett", ABNorsettScheduler),
|
||||
@@ -190,4 +199,7 @@ VARIANTS = [
|
||||
("RES-U 3S", RESU3SScheduler),
|
||||
("RES-U 5S", RESU5SScheduler),
|
||||
("RES-U 6S", RESU6SScheduler),
|
||||
("DEIS 1 Multistep", DEIS1MultistepScheduler),
|
||||
("DEIS 2 Multistep", DEIS2MultistepScheduler),
|
||||
("DEIS 3 Multistep", DEIS3MultistepScheduler),
|
||||
]
|
||||
|
||||
@@ -3,6 +3,7 @@ from .common_sigma_scheduler import CommonSigmaScheduler
|
||||
from .etdrk_scheduler import ETDRKScheduler
|
||||
from .lawson_scheduler import LawsonScheduler
|
||||
from .pec_scheduler import PECScheduler
|
||||
from .deis_scheduler_alt import DEISMultistepScheduler
|
||||
from .res_multistep_scheduler import RESMultistepScheduler
|
||||
from .res_multistep_sde_scheduler import RESMultistepSDEScheduler
|
||||
from .res_singlestep_scheduler import RESSinglestepScheduler
|
||||
@@ -244,7 +245,7 @@ class PEC2H3SScheduler(PECScheduler):
|
||||
# Riemannian Flow Variants
|
||||
class EuclideanFlowScheduler(RiemannianFlowScheduler):
|
||||
def __init__(self, **kwargs):
|
||||
kwargs["metric_type"] = "RiemannianFlowScheduler"
|
||||
kwargs["metric_type"] = "euclidean"
|
||||
super().__init__(**kwargs)
|
||||
|
||||
|
||||
@@ -295,3 +296,19 @@ class SmoothstepSigmaScheduler(CommonSigmaScheduler):
|
||||
def __init__(self, **kwargs):
|
||||
kwargs["profile"] = "smoothstep"
|
||||
super().__init__(**kwargs)
|
||||
|
||||
## DEIS Multistep Variants
|
||||
class DEIS1MultistepScheduler(DEISMultistepScheduler):
|
||||
def __init__(self, **kwargs):
|
||||
kwargs["order"] = "1"
|
||||
super().__init__(**kwargs)
|
||||
|
||||
class DEIS2MultistepScheduler(DEISMultistepScheduler):
|
||||
def __init__(self, **kwargs):
|
||||
kwargs["order"] = "2"
|
||||
super().__init__(**kwargs)
|
||||
|
||||
class DEIS3MultistepScheduler(DEISMultistepScheduler):
|
||||
def __init__(self, **kwargs):
|
||||
kwargs["order"] = "3"
|
||||
super().__init__(**kwargs)
|
||||
|
||||
Reference in New Issue
Block a user