diff --git a/hyvideo/diffusion/pipelines/pipeline_hunyuan_video.py b/hyvideo/diffusion/pipelines/pipeline_hunyuan_video.py index c05627c..cbe874c 100644 --- a/hyvideo/diffusion/pipelines/pipeline_hunyuan_video.py +++ b/hyvideo/diffusion/pipelines/pipeline_hunyuan_video.py @@ -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") diff --git a/hyvideo/modules/models.py b/hyvideo/modules/models.py index 903bd38..0e76321 100644 --- a/hyvideo/modules/models.py +++ b/hyvideo/modules/models.py @@ -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() diff --git a/nodes.py b/nodes.py index 8e52884..3babc5d 100644 --- a/nodes.py +++ b/nodes.py @@ -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