Diffusers documentation
JoyImageEditPlusTransformer3DModel
JoyImageEditPlusTransformer3DModel
可以使用以下代码片段加载该模型。
from diffusers import JoyImageEditPlusTransformer3DModel
transformer = JoyImageEditPlusTransformer3DModel.from_pretrained("jdopensource/JoyAI-Image-Edit-Plus-Diffusers", subfolder="transformer", dtype=torch.bfloat16)JoyImageEditPlusTransformer3DModel
class 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)维度对潜在输入进行分块(patchify)时使用的块大小。 - 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) — 双流 Transformer 块的数量。 - rope_dim_list (
list[int],默认为[16, 56, 56]) — 沿(t, h, w)方向的 3D 旋转位置嵌入的维度。 - rope_type (
str,默认为"rope") — 旋转位置嵌入的类型。 - theta (
int,默认为256) — 旋转嵌入的基础频率。
用于多图像编辑的 JoyImage Edit Plus Transformer。
采用 patchify+padding 方法,将每张参考图像和目标噪声独立进行 patchify 处理,并拼接为一个扁平的 patch 序列。支持可变分辨率的参考图像。
输入格式:[B, max_patches, C, pt, ph, pw](6D 填充后的 patch)。
forward
< source >( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorencoder_hidden_states_mask: typing.Optional[torch.Tensor] = Noneshape_list: list = Nonereturn_dict: bool = True )
Transformer2DModelOutput
类 diffusers.models.modeling_outputs.Transformer2DModelOutput
< source >( sample: torch.Tensor )
参数
- sample(形状为
(batch_size, num_channels, height, width)的torch.Tensor,或者如果 Transformer2DModel 是离散的,则为(batch size, num_vector_embeds - 1, num_latent_pixels))— 以encoder_hidden_states输入为条件的隐藏状态输出。如果是离散的,则返回未加噪潜在像素的概率分布。
Transformer2DModel 的输出。