Buckets:
Lumina2Transformer2DModel
Alpha-VLLM의 Lumina Image 2.0에서 3D 비디오 유사 데이터용 Diffusion Transformer 모델이 소개되었습니다.
다음 코드 스니펫으로 모델을 로드할 수 있습니다.
from diffusers import Lumina2Transformer2DModel
transformer = Lumina2Transformer2DModel.from_pretrained("Alpha-VLLM/Lumina-Image-2.0", subfolder="transformer", dtype=torch.bfloat16)
Lumina2Transformer2DModel[[diffusers.Lumina2Transformer2DModel]]
diffusers.Lumina2Transformer2DModel[[diffusers.Lumina2Transformer2DModel]]
diffusers.Lumina2Transformer2DModel(sample_size: int = 128, patch_size: int = 2, in_channels: int = 16, out_channels: int | None = None, hidden_size: int = 2304, num_layers: int = 26, num_refiner_layers: int = 2, num_attention_heads: int = 24, num_kv_heads: int = 8, multiple_of: int = 256, ffn_dim_multiplier: float | None = None, norm_eps: float = 1e-05, scaling_factor: float = 1.0, axes_dim_rope: tuple = (32, 32, 32), axes_lens: tuple = (300, 512, 512), cap_feat_dim: int = 1024)
매개변수:
sample_size (int) : 잠재 이미지(latent images)의 너비입니다. 학습 중에 위치 임베딩(position embeddings)의 수를 학습하는 데 사용되므로 고정됩니다.
patch_size (int, 선택 사항, (int, 선택 사항, 기본값 2) : 이미지에서 각 패치의 크기입니다. 이 매개변수는 모델에 입력되는 패치의 해상도를 정의합니다.
in_channels (int, 선택 사항, 기본값 4) : 모델의 입력 채널 수입니다. 일반적으로 이는 입력 이미지의 채널 수와 일치합니다.
hidden_size (int, 선택 사항, 기본값 4096) : 모델의 숨겨진 레이어 차원입니다. 이 매개변수는 모델의 숨겨진 표현의 폭을 결정합니다.
num_layers (int, 선택 사항, 기본값 32) : 모델의 레이어 수입니다. 이는 신경망의 깊이를 정의합니다.
num_attention_heads (int, 선택 사항, 기본값 32) : 각 attention layer의 attention head 수. 이 매개변수는 사용할 개별 attention mechanism의 수를 지정합니다.
num_kv_heads (int, 선택 사항, 기본값 8) : 어텐션 메커니즘의 키-밸류 헤드 수입니다. 어텐션 헤드 수와 다른 경우에만 지정합니다. None인 경우 num_attention_heads 값이 기본값으로 사용됩니다.
multiple_of (int, 선택 사항, 기본값 256) : hidden size가 배수로 가져야 하는 계수입니다. 이는 특정 하드웨어 구성을 최적화하는 데 도움이 될 수 있습니다.
ffn_dim_multiplier (float, 선택 사항) : 피드포워드 네트워크의 차원성 배율입니다. None인 경우 모델 구성에 기반한 기본 값을 사용합니다.
norm_eps (float, 선택 사항, 기본값 1e-5) : 정규화 레이어에서 수치적 안정성을 위해 분모에 추가되는 작은 값입니다.
scaling_factor (float, 선택 사항, 기본값 1.0) : 모델의 특정 매개변수나 레이어에 적용되는 스케일링 계수입니다. 이는 모델 연산의 전체적인 스케일을 조정하는 데 사용할 수 있습니다.
Lumina2NextDiT: Transformer 기반의 Diffusion 모델.
forward[[diffusers.Lumina2Transformer2DModel.forward]]
forward(hidden_states: Tensor, timestep: Tensor, encoder_hidden_states: Tensor, encoder_attention_mask: Tensor, attention_kwargs: dict[str, typing.Any] | None = None, return_dict: bool = True)
매개변수:
hidden_states (torch.Tensor, shape (batch_size, in_channels, height, width)) : 입력 hidden_states.
timestep (torch.LongTensor) : 노이즈 제거 단계를 나타내는 데 사용됩니다.
encoder_hidden_states (torch.Tensor, shape (batch_size, sequence_len, embed_dims)) : 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).
encoder_attention_mask (torch.Tensor) : attention 과정에서 encoder_hidden_states에 적용되는 마스크.
attention_kwargs (dict, 선택 사항) : 지정된 경우 diffusers.models.attention_processor의 self.processor 아래에서 정의된 AttentionProcessor로 전달되는 kwargs 사전입니다.
return_dict (bool, 선택 사항, 기본값 True) : 일반 튜플 대신 ~models.transformer_2d.Transformer2DModelOutput을 반환할지 여부.
반환값:
return_dict가 True이면 ~models.transformer_2d.Transformer2DModelOutput이 반환되고, 그렇지 않으면 첫 번째 요소가 샘플 텐서인 tuple이 반환됩니다.
Lumina2Transformer2DModel의 forward 메서드입니다.
Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput[[diffusers.models.modeling_outputs.Transformer2DModelOutput]]
diffusers.models.modeling_outputs.Transformer2DModelOutput(sample: torch.Tensor)
매개변수:
sample (torch.Tensor, shape (batch_size, num_channels, height, width) 또는 Transformer2DModel이 discrete인 경우 (batch size, num_vector_embeds - 1, num_latent_pixels)) : encoder_hidden_states 입력에 조건부인 hidden states 출력입니다. discrete인 경우, 노이즈가 제거된 latent 픽셀에 대한 확률 분포를 반환합니다.
Transformer2DModel의 출력입니다.
Xet Storage Details
- Size:
- 6.14 kB
- Xet hash:
- 602f893c087130ba789080011a07a2bce2e7ae486fea57353bd3a7b8359ca833
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.