fixes
This commit is contained in:
@@ -742,7 +742,7 @@ class HunyuanVideoPipeline(DiffusionPipeline):
|
|||||||
self.transformer.slg_start_percent = slg_args["start_percent"]
|
self.transformer.slg_start_percent = slg_args["start_percent"]
|
||||||
self.transformer.slg_end_percent = slg_args["end_percent"]
|
self.transformer.slg_end_percent = slg_args["end_percent"]
|
||||||
else:
|
else:
|
||||||
self.transformer.slg_blocks = None
|
self.transformer.slg_single_blocks = self.transformer.slg_double_blocks = None
|
||||||
|
|
||||||
logger.info(f"Sampling {video_length} frames in {latents.shape[2]} latents at {width}x{height} with {len(timesteps)} inference steps")
|
logger.info(f"Sampling {video_length} frames in {latents.shape[2]} latents at {width}x{height} with {len(timesteps)} inference steps")
|
||||||
|
|
||||||
|
|||||||
@@ -760,8 +760,6 @@ class HYVideoDiffusionTransformer(ModelMixin, ConfigMixin):
|
|||||||
self.accumulated_rel_l1_distance = 0
|
self.accumulated_rel_l1_distance = 0
|
||||||
self.previous_modulated_input = None
|
self.previous_modulated_input = None
|
||||||
self.previous_residual = None
|
self.previous_residual = None
|
||||||
self.last_dimensions = None
|
|
||||||
self.last_frame_count = None
|
|
||||||
self.teacache_device = None
|
self.teacache_device = None
|
||||||
|
|
||||||
self.slg_single_blocks = None
|
self.slg_single_blocks = None
|
||||||
@@ -1168,12 +1166,6 @@ class HYVideoDiffusionTransformer(ModelMixin, ConfigMixin):
|
|||||||
self.teacache_skipped_steps_uncond += 1
|
self.teacache_skipped_steps_uncond += 1
|
||||||
else:
|
else:
|
||||||
self.teacache_skipped_steps_cond += 1
|
self.teacache_skipped_steps_cond += 1
|
||||||
|
|
||||||
# Verify tensor dimensions match before adding
|
|
||||||
if img.shape == previous_residual.shape:
|
|
||||||
img = img + previous_residual.to(img.device)
|
|
||||||
else:
|
|
||||||
should_calc = True # Force recalculation if dimensions don't match
|
|
||||||
|
|
||||||
if should_calc:
|
if should_calc:
|
||||||
ori_img = img.clone()
|
ori_img = img.clone()
|
||||||
|
|||||||
@@ -1419,23 +1419,15 @@ class HyVideoSampler:
|
|||||||
|
|
||||||
# Initialize TeaCache if enabled
|
# Initialize TeaCache if enabled
|
||||||
if teacache_args is not None:
|
if teacache_args is not None:
|
||||||
# Check if dimensions have changed since last run
|
transformer.cnt = 0
|
||||||
if (not hasattr(transformer, 'last_dimensions') or
|
transformer.teacache_skipped_steps_cond = 0
|
||||||
transformer.last_dimensions != (height, width, num_frames) or
|
transformer.teacache_skipped_steps_uncond = 0
|
||||||
not hasattr(transformer, 'last_frame_count') or
|
transformer.accumulated_rel_l1_distance = 0
|
||||||
transformer.last_frame_count != num_frames):
|
transformer.previous_modulated_input = None
|
||||||
# Reset TeaCache state on dimension change
|
transformer.previous_residual = None
|
||||||
transformer.cnt = 0
|
transformer.teacache_device = device
|
||||||
transformer.teacache_skipped_steps_cond = 0
|
transformer.teacache_start_step = 0
|
||||||
transformer.teacache_skipped_steps_uncond = 0
|
transformer.teacache_end_step = steps - 1
|
||||||
transformer.accumulated_rel_l1_distance = 0
|
|
||||||
transformer.previous_modulated_input = None
|
|
||||||
transformer.previous_residual = None
|
|
||||||
transformer.last_dimensions = (height, width, num_frames)
|
|
||||||
transformer.last_frame_count = num_frames
|
|
||||||
transformer.teacache_device = device
|
|
||||||
transformer.teacache_start_step = 0
|
|
||||||
transformer.teacache_end_step = steps - 1
|
|
||||||
|
|
||||||
transformer.enable_teacache = True
|
transformer.enable_teacache = True
|
||||||
transformer.num_steps = steps
|
transformer.num_steps = steps
|
||||||
|
|||||||
Reference in New Issue
Block a user