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_end_percent = slg_args["end_percent"]
|
||||
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")
|
||||
|
||||
|
||||
@@ -760,8 +760,6 @@ class HYVideoDiffusionTransformer(ModelMixin, ConfigMixin):
|
||||
self.accumulated_rel_l1_distance = 0
|
||||
self.previous_modulated_input = None
|
||||
self.previous_residual = None
|
||||
self.last_dimensions = None
|
||||
self.last_frame_count = None
|
||||
self.teacache_device = None
|
||||
|
||||
self.slg_single_blocks = None
|
||||
@@ -1168,12 +1166,6 @@ class HYVideoDiffusionTransformer(ModelMixin, ConfigMixin):
|
||||
self.teacache_skipped_steps_uncond += 1
|
||||
else:
|
||||
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:
|
||||
ori_img = img.clone()
|
||||
|
||||
@@ -1419,23 +1419,15 @@ class HyVideoSampler:
|
||||
|
||||
# Initialize TeaCache if enabled
|
||||
if teacache_args is not None:
|
||||
# Check if dimensions have changed since last run
|
||||
if (not hasattr(transformer, 'last_dimensions') or
|
||||
transformer.last_dimensions != (height, width, num_frames) or
|
||||
not hasattr(transformer, 'last_frame_count') or
|
||||
transformer.last_frame_count != num_frames):
|
||||
# Reset TeaCache state on dimension change
|
||||
transformer.cnt = 0
|
||||
transformer.teacache_skipped_steps_cond = 0
|
||||
transformer.teacache_skipped_steps_uncond = 0
|
||||
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.cnt = 0
|
||||
transformer.teacache_skipped_steps_cond = 0
|
||||
transformer.teacache_skipped_steps_uncond = 0
|
||||
transformer.accumulated_rel_l1_distance = 0
|
||||
transformer.previous_modulated_input = None
|
||||
transformer.previous_residual = None
|
||||
transformer.teacache_device = device
|
||||
transformer.teacache_start_step = 0
|
||||
transformer.teacache_end_step = steps - 1
|
||||
|
||||
transformer.enable_teacache = True
|
||||
transformer.num_steps = steps
|
||||
|
||||
Reference in New Issue
Block a user