mirror of
https://github.com/vladmandic/automatic
synced 2026-09-19 01:04:32 +02:00
+1
-1
@@ -492,7 +492,7 @@ def check_diffusers():
|
||||
t_start = time.time()
|
||||
if args.skip_all or args.skip_git:
|
||||
return
|
||||
sha = '07860f991639f35f4b5a152676bd4d590c3e589e' # diffusers commit hash
|
||||
sha = '8ceec90d76767035a63b879d659a2ed8e12c5bba' # diffusers commit hash
|
||||
pkg = pkg_resources.working_set.by_key.get('diffusers', None)
|
||||
minor = int(pkg.version.split('.')[1] if pkg is not None else 0)
|
||||
cur = opts.get('diffusers_version', '') if minor > 0 else ''
|
||||
|
||||
+15
-3
@@ -19,6 +19,8 @@ models = {
|
||||
'HunyuanVideo': { 'repo': 'tencent/HunyuanVideo', 'revision': 'refs/pr/18' },
|
||||
'FastHunyuan': { 'repo': 'FastVideo/FastHunyuan', 'revision': None },
|
||||
}
|
||||
loaded_model = None
|
||||
|
||||
|
||||
def get_template(template: str = None):
|
||||
# diffusers.pipelines.hunyuan_video.pipeline_hunyuan_video.DEFAULT_PROMPT_TEMPLATE
|
||||
@@ -85,7 +87,8 @@ class Script(scripts.Script):
|
||||
return [model, num_frames, tile_frames, override_scheduler, scheduler_shift, template, video_type, duration, gif_loop, mp4_pad, mp4_interpolate]
|
||||
|
||||
def load(self, model:str):
|
||||
if shared.sd_model.__class__ != diffusers.HunyuanVideoPipeline:
|
||||
global loaded_model # pylint: disable=global-statement
|
||||
if shared.sd_model.__class__ != diffusers.HunyuanVideoPipeline or model != loaded_model:
|
||||
sd_models.unload_model_weights()
|
||||
t0 = time.time()
|
||||
quant_args = {}
|
||||
@@ -113,12 +116,20 @@ class Script(scripts.Script):
|
||||
torch_dtype=devices.dtype,
|
||||
**quant_args
|
||||
)
|
||||
text_encoder_2 = transformers.CLIPTextModel.from_pretrained(
|
||||
pretrained_model_name_or_path=models.get(model)['repo'],
|
||||
subfolder="text_encoder_2",
|
||||
revision=models.get(model)['revision'],
|
||||
cache_dir = shared.opts.hfcache_dir,
|
||||
torch_dtype=devices.dtype,
|
||||
)
|
||||
shared.log.debug(f'Video: module={text_encoder.__class__.__name__}')
|
||||
shared.sd_model = diffusers.HunyuanVideoPipeline.from_pretrained(
|
||||
pretrained_model_name_or_path=models.get(model)['repo'],
|
||||
pretrained_model_name_or_path='tencent/HunyuanVideo',
|
||||
transformer=transformer,
|
||||
text_encoder=text_encoder,
|
||||
revision=models.get(model)['revision'],
|
||||
text_encoder_2=text_encoder_2,
|
||||
revision='refs/pr/18',
|
||||
cache_dir = shared.opts.hfcache_dir,
|
||||
torch_dtype=devices.dtype,
|
||||
**quant_args
|
||||
@@ -134,6 +145,7 @@ class Script(scripts.Script):
|
||||
shared.sd_model.encode_prompt = hijack_encode_prompt
|
||||
shared.sd_model.vae.enable_slicing()
|
||||
shared.sd_model.vae.enable_tiling()
|
||||
loaded_model = model
|
||||
|
||||
def run(self, p: processing.StableDiffusionProcessing, model, num_frames, tile_frames, override_scheduler, scheduler_shift, template, video_type, duration, gif_loop, mp4_pad, mp4_interpolate): # pylint: disable=arguments-differ, unused-argument
|
||||
# set params
|
||||
|
||||
Reference in New Issue
Block a user