Skip to content

Wan Animate Pipeline#367

Open
csgoogle wants to merge 1 commit intomainfrom
sagarchapara/wananimate-pipeline
Open

Wan Animate Pipeline#367
csgoogle wants to merge 1 commit intomainfrom
sagarchapara/wananimate-pipeline

Conversation

@csgoogle
Copy link
Copy Markdown
Collaborator

@csgoogle csgoogle commented Mar 28, 2026

Wan Animate Pipeline

This CL publishes add the Wan Animate pipepline.

  • Reused the existing Wan attention operator for face encoder cross attention.
  • Swept Flash Attention block-size configurations to identify the best inference setting.

Links

Performance

  • compile_time: 292.73833787906915
  • generation_time: 157.68515427410603

Configuration

  • cp: 8 (v6e8)
  • cfg: 1.0
  • prev_segments: 5
  • resolution: 1280x720
  • fps: 24
  • generated_frames: 77

@github-actions
Copy link
Copy Markdown

@csgoogle csgoogle marked this pull request as ready for review April 6, 2026 16:33
@csgoogle csgoogle requested a review from entrpn as a code owner April 6, 2026 16:33
@csgoogle csgoogle force-pushed the sagarchapara/wananimate-pipeline branch from 67233e9 to e281524 Compare April 13, 2026 08:49
@csgoogle csgoogle force-pushed the sagarchapara/wananimate-pipeline branch from e281524 to 349d080 Compare April 13, 2026 09:10
sigmas = 1.0 - alphas
sigmas = jnp.flip(self.config.flow_shift * sigmas / (1 + (self.config.flow_shift - 1) * sigmas))[:-1].copy()
timesteps = (sigmas * self.config.num_train_timesteps).copy().astype(jnp.int64)
sigmas = jnp.linspace(1.0, 1.0 / self.config.num_train_timesteps, num_inference_steps + 1)[:-1]
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sigmas = self.config.flow_shift * sigmas / (1 + (self.config.flow_shift - 1) * sigmas)
eps = 1e-6
sigmas = sigmas.at[0].set(jnp.where(jnp.abs(sigmas[0] - 1.0) < eps, sigmas[0] - eps, sigmas[0]))
timesteps = (sigmas * self.config.num_train_timesteps).copy().astype(jnp.int32)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why move from jnp.int64 to jnp.int32?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

timestamps are sufficient to be in int32, so casted to int32 only

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we move the assets to a public GCS path or use an existing hf dataset link?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants