Diffusers documentation
HiDreamImageTransformer2DModel
HiDreamImageTransformer2DModel
用于 HiDream-I1 中类图像数据的 Transformer 模型。
可以使用以下代码片段加载该模型。
from diffusers import HiDreamImageTransformer2DModel
transformer = HiDreamImageTransformer2DModel.from_pretrained("HiDream-ai/HiDream-I1-Full", subfolder="transformer", dtype=torch.bfloat16)加载 HiDream-I1 的 GGUF 量化检查点
HiDreamImageTransformer2DModel 的 GGUF 检查点可以使用 ~FromOriginalModelMixin.from_single_file 进行加载
import torch
from diffusers import GGUFQuantizationConfig, HiDreamImageTransformer2DModel
ckpt_path = "https://huggingface.co/city96/HiDream-I1-Dev-gguf/blob/main/hidream-i1-dev-Q2_K.gguf"
transformer = HiDreamImageTransformer2DModel.from_single_file(
ckpt_path,
quantization_config=GGUFQuantizationConfig(compute_dtype=torch.bfloat16),
dtype=torch.bfloat16
)HiDreamImageTransformer2DModel
class diffusers.HiDreamImageTransformer2DModel
< source >( patch_size: int | None = Nonein_channels: int = 64out_channels: int | None = Nonenum_layers: int = 16num_single_layers: int = 32attention_head_dim: int = 128num_attention_heads: int = 20caption_channels: list[int] = Nonetext_emb_dim: int = 2048num_routed_experts: int = 4num_activated_experts: int = 2axes_dims_rope: tuple[int, int] = (32, 32)max_resolution: tuple[int, int] = (128, 128)llama_layers: list[int] = Noneforce_inference_output: bool = False )
forward
< source >( hidden_states: Tensortimesteps: LongTensor = Noneencoder_hidden_states_t5: Tensor = Noneencoder_hidden_states_llama3: Tensor = Nonepooled_embeds: Tensor = Noneimg_ids: typing.Optional[torch.Tensor] = Noneimg_sizes: list[tuple[int, int]] | None = Nonehidden_states_masks: typing.Optional[torch.Tensor] = Noneattention_kwargs: dict[str, typing.Any] | None = Nonereturn_dict: bool = True )
参数
- hidden_states(形状为
(batch_size, in_channels, height, width)或(batch_size, patch_height * patch_width, patch_size * patch_size * channels)的torch.Tensor)— 输入的hidden_states。 - timesteps (
torch.LongTensor) — 用于指示去噪步骤。 - encoder_hidden_states_t5 (
torch.Tensor) — 由 T5 文本编码器计算得出的条件嵌入。 - encoder_hidden_states_llama3 (
torch.Tensor) — 由 Llama3 文本编码器计算得出的条件嵌入。 - pooled_embeds (
torch.Tensor) — 用于额外条件控制的池化文本嵌入。 - img_ids (
torch.Tensor, 可选) — 用于补丁隐藏状态(patched hidden states)的图像位置 ID。 - img_sizes (
listoftupleofint,可选) — 用于对输出进行 unpatchify 的每个样本的 patch 网格大小。 - hidden_states_masks (
torch.Tensor,可选) — 针对分块后的hidden_states的掩码。 - attention_kwargs (
dict, 可选) — 一个 kwargs 字典,如果指定,将传递给 diffusers.models.attention_processor 中定义的AttentionProcessor,该处理器在self.processor下定义。 - return_dict (
bool,可选,默认为True) — 是否返回~models.transformer_2d.Transformer2DModelOutput而不是普通的元组。
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 的输出。