Diffusers documentation
JoyImageEditPlusTransformer3DModel
JoyImageEditPlusTransformer3DModel
Модель можно загрузить с помощью следующего фрагмента кода.
from diffusers import JoyImageEditPlusTransformer3DModel
transformer = JoyImageEditPlusTransformer3DModel.from_pretrained("jdopensource/JoyAI-Image-Edit-Plus-Diffusers", subfolder="transformer", dtype=torch.bfloat16)JoyImageEditPlusTransformer3DModel
класс 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 )
Параметры
- patch_size (
list, по умолчанию[1, 2, 2]) — Размер патча для разбиения латентного входа на патчи вдоль измерений(t, h, w). - in_channels (
int, по умолчанию16) — Количество каналов во входном латентном представлении. - out_channels (
int, необязательный, по умолчаниюNone) — Количество каналов на выходе. Если не указано, по умолчанию равноin_channels. - hidden_size (
int, по умолчанию3072) — Размерность скрытых представлений. - num_attention_heads (
int, по умолчанию24) — Количество головок внимания. - text_dim (
int, по умолчанию4096) — Размерность выходных данных текстового энкодера. - mlp_width_ratio (
float, по умолчанию4.0) — Соотношение скрытого размера MLP кhidden_size. - num_layers (
int, по умолчанию20) — Количество блоков двойного потока трансформера. - rope_dim_list (
list[int], по умолчанию[16, 56, 56]) — Размерности для 3D-вращательных позиционных эмбеддингов вдоль(t, h, w). - rope_type (
str, по умолчанию"rope") — Тип вращательного позиционного кодирования. - theta (
int, по умолчанию256) — Базовая частота для вращательных эмбеддингов.
JoyImage Edit Plus Transformer для редактирования нескольких изображений.
Использует подход patchify+padding, при котором каждое эталонное изображение и целевой шум независимо преобразуются в патчи и конкатенируются в плоскую последовательность патчей. Поддерживает эталонные изображения с переменным разрешением.
Формат входных данных: [B, max_patches, C, pt, ph, pw] (6D-патчи с дополнением).
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorencoder_hidden_states_mask: typing.Optional[torch.Tensor] = Noneshape_list: list = Nonereturn_dict: bool = True )
Параметры
- hidden_states — [B, max_patches, C, pt, ph, pw] - вход в латентном пространстве, разбитый на патчи.
- timestep — [B] - шаг диффузии.
- encoder_hidden_states — [B, L, D] - выходные данные текстового энкодера.
- encoder_hidden_states_mask — [B, L] - маска внимания для текстовых токенов.
- shape_list — список кортежей (t, h, w) для каждого компонента (target + references) по каждому образцу.
- return_dict — Возвращать словарь или кортеж.
Transformer2DModelOutput
класс diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
Параметры
- sample (
torch.Tensorформы(batch_size, num_channels, height, width)или(batch size, num_vector_embeds - 1, num_latent_pixels), если Transformer2DModel дискретный) — Выходные скрытые состояния, обусловленные входомencoder_hidden_states. Если модель дискретная, возвращает распределения вероятностей для латентных пикселей без шума.
Вывод Transformer2DModel.