LTX2Pipeline: dynamic timestep shift `mu` is constant, ignores the actual sequence length
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Tranquilo
- Stack tecnológico
- python
- Área
- machine-learning
Línea de trabajo
Comienza en src/diffusers/pipelines/ltx2/pipeline_ltx2.py, dentro de LTX2Pipeline.call, y lee los cálculos de las dimensiones latentes cercanos y la llamada a calculate_shift. Confirma cómo se deriva la longitud de la secuencia empaquetada y compara la lógica análoga de la pipeline Flux/SD3. Se considera terminado cuando el desplazamiento dinámico usa la longitud real de la secuencia latente y varía según la resolución o el número de frames.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In LTX2Pipeline.__call__ (src/diffusers/pipelines/ltx2/pipeline_ltx2.py), mu is computed with max_image_seq_len passed as the first argument of calculate_shift — the image_seq_len parameter:
mu = calculate_shift(
self.scheduler.config.get("max_image_seq_len", 4096), # <-- this is image_seq_len; should be the sample's real sequence length
self.scheduler.config.get("base_image_seq_len", 1024),
self.scheduler.config.get("max_image_seq_len", 4096),
self.scheduler.config.get("base_shift", 0.95),
self.scheduler.config.get("max_shift", 2.05),
)
calculate_shift(image_seq_len, base, max, base_shift, max_shift) returns image_seq_len * m + b. With image_seq_len == max_seq_len, that reduces to max_shift, so mu is constant regardless of resolution or frame count — use_dynamic_shifting=True has no effect.
image_seq_len should be the sample's packed sequence length, latent_num_frames * latent_height * latent_width — which is already computed a few lines above (and even present as the commented line # video_sequence_length = latent_num_frames * latent_height * latent_width). This matches the Flux/SD3 pipelines and the LTX reference (math.prod(latent.shape[2:])).
Fix: pass latent_num_frames * latent_height * latent_width as the first argument.
- Lenguaje dominante
- Python
- Estrellas
- 34.6k
- Forks
- 7.4k
- Merge medio
- 3 d 7 h
- PR fusionados (30 d)
- 73
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de huggingface/diffusers
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
huggingface/diffusers#14837 ·
-
bug needs-env-info pipelines
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
huggingface/diffusers#14794 ·
-
bug needs-code-example needs-env-info pipelines
Dificultad 1/5 Menos de una hora Aptitud para principiantes 86/100
huggingface/diffusers#14780 · 1 comentario ·
-
bug pipelines
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
huggingface/diffusers#14769 · 1 comentario ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
huggingface/diffusers#14639 ·
Todos los issues de huggingface/diffusers
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
stephrobert/dsoxlab#238 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
sublimehq/package_control#1780 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
nwg-piotr/nwg-displays#145 ·