Diffusers documentation
JoyImageEditPlusTransformer3DModel
JoyImageEditPlusTransformer3DModel
Le modèle peut être chargé à l'aide du fragment de code suivant.
from diffusers import JoyImageEditPlusTransformer3DModel
transformer = JoyImageEditPlusTransformer3DModel.from_pretrained("jdopensource/JoyAI-Image-Edit-Plus-Diffusers", subfolder="transformer", dtype=torch.bfloat16)JoyImageEditPlusTransformer3DModel
classe diffusers.JoyImageEditPlusTransformer3DModel
< source >( patch_size: list = [1, 2, 2]in_channels: int = 16out_channels: int | None = Nonehidden_size: int = 3072num_attention_heads: int = 24text_dim: int = 4096mlp_width_ratio: float = 4.0num_layers: int = 20rope_dim_list: list = [16, 56, 56]rope_type: str = 'rope'theta: int = 256 )
Paramètres
- patch_size (
list, par défaut[1, 2, 2]) — Taille des patches pour la patchification de l'entrée latente le long des dimensions(t, h, w). - in_channels (
int, par défaut16) — Le nombre de canaux dans le latent d'entrée. - out_channels (
int, facultatif, par défautNone) — Le nombre de canaux dans la sortie. S'il n'est pas spécifié, il est par défaut égal àin_channels. - hidden_size (
int, par défaut3072) — La dimension des représentations cachées. - num_attention_heads (
int, par défaut24) — Le nombre de têtes d'attention. - text_dim (
int, par défaut4096) — La dimensionnalité de la sortie du codeur de texte. - mlp_width_ratio (
float, par défaut4.0) — Le ratio de la dimension cachée du MLP par rapport àhidden_size. - num_layers (
int, par défaut20) — Le nombre de blocs de transformateur à double flux. - rope_dim_list (
list[int], par défaut[16, 56, 56]) — Les dimensions des embeddings positionnels rotatifs 3D le long de(t, h, w). - rope_type (
str, par défaut"rope") — Le type d’incorporation positionnelle rotative. - theta (
int, par défaut256) — La fréquence de base pour les embeddings rotationnels.
JoyImage Edit Plus Transformer pour l'édition multi-images.
Utilise une approche de patchification + bourrage (padding) où chaque image de référence et le bruit cible sont indépendamment patchifiés puis concaténés en une séquence plate de patches. Prend en charge les images de référence à résolution variable.
Format d'entrée : [B, max_patches, C, pt, ph, pw] (patches 6D avec bourrage).
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorencoder_hidden_states_mask: typing.Optional[torch.Tensor] = Noneshape_list: list = Nonereturn_dict: bool = True )
Paramètres
- hidden_states — [B, max_patches, C, pt, ph, pw] - entrée latente patchifiée.
- timestep — [B] - pas de diffusion.
- encoder_hidden_states — [B, L, D] - sorties de l'encodeur de texte.
- encoder_hidden_states_mask — [B, L] - masque d'attention pour les jetons de texte.
- shape_list — Liste par échantillon de tuples (t, h, w) pour chaque composant (cible + références).
- return_dict — Indique s'il faut retourner un dictionnaire ou un tuple.
Transformer2DModelOutput
classe diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Paramètres
- sample (
torch.Tensorde forme(batch_size, num_channels, height, width)ou(batch size, num_vector_embeds - 1, num_latent_pixels)si Transformer2DModel est discret) — Les états cachés en sortie, conditionnés par l'entréeencoder_hidden_states. Si discret, renvoie les distributions de probabilité pour les pixels latents non bruités.
La sortie de Transformer2DModel.