From 555f0b976165b52176e8196e0df27391b13630a0 Mon Sep 17 00:00:00 2001 From: Aloys Jehwin Date: Mon, 3 Aug 2026 22:48:19 +0530 Subject: [PATCH] fix(embeddings): change default output_type from 'np' to 'pt' in positional embedding helpers Four public helpers defaulted to output_type='np', which routes into a past-target deprecate() call (target 0.33.0/0.34.0, current 0.40.0). deprecate() raises once the library version has passed the target, so calling these functions with their defaults raised ValueError. Changed the default to output_type='pt' in: - get_3d_sincos_pos_embed - get_2d_sincos_pos_embed - get_2d_sincos_pos_embed_from_grid - get_1d_sincos_pos_embed_from_grid - get_2d_rotary_pos_embed The deprecated 'np' path is preserved for backward compatibility when callers explicitly pass output_type='np', but the no-argument default no longer crashes. Fixes #14366 Signed-off-by: Aloys Jehwin --- src/diffusers/models/embeddings.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/diffusers/models/embeddings.py b/src/diffusers/models/embeddings.py index 888ae58100ee..95c137da5576 100644 --- a/src/diffusers/models/embeddings.py +++ b/src/diffusers/models/embeddings.py @@ -85,7 +85,7 @@ def get_3d_sincos_pos_embed( spatial_interpolation_scale: float = 1.0, temporal_interpolation_scale: float = 1.0, device: torch.device | None = None, - output_type: str = "np", + output_type: str = "pt", ) -> torch.Tensor: r""" Creates 3D sinusoidal positional embeddings. @@ -226,7 +226,7 @@ def get_2d_sincos_pos_embed( interpolation_scale=1.0, base_size=16, device: torch.device | None = None, - output_type: str = "np", + output_type: str = "pt", ): """ Creates 2D sinusoidal positional embeddings. @@ -286,7 +286,7 @@ def get_2d_sincos_pos_embed( return pos_embed -def get_2d_sincos_pos_embed_from_grid(embed_dim, grid, output_type="np"): +def get_2d_sincos_pos_embed_from_grid(embed_dim, grid, output_type="pt"): r""" This function generates 2D sinusoidal positional embeddings from a grid. @@ -319,7 +319,7 @@ def get_2d_sincos_pos_embed_from_grid(embed_dim, grid, output_type="np"): return emb -def get_1d_sincos_pos_embed_from_grid(embed_dim, pos, output_type="np", flip_sin_to_cos=False, dtype=None): +def get_1d_sincos_pos_embed_from_grid(embed_dim, pos, output_type="pt", flip_sin_to_cos=False, dtype=None): """ This function generates 1D positional embeddings from a grid. @@ -973,7 +973,7 @@ def get_3d_rotary_pos_embed_allegro( def get_2d_rotary_pos_embed( - embed_dim, crops_coords, grid_size, use_real=True, device: torch.device | None = None, output_type: str = "np" + embed_dim, crops_coords, grid_size, use_real=True, device: torch.device | None = None, output_type: str = "pt" ): """ RoPE for image tokens with 2d structure.