Diffusers documentation

CosmosTransformer3DModel

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v0.42.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

CosmosTransformer3DModel

NVIDIA의 Cosmos World Foundation Model Platform for Physical AI에서 3D 비디오 유사 데이터용 Diffusion Transformer 모델이 소개되었습니다.

다음 코드 스니펫으로 모델을 로드할 수 있습니다.

from diffusers import CosmosTransformer3DModel

transformer = CosmosTransformer3DModel.from_pretrained("nvidia/Cosmos-1.0-Diffusion-7B-Text2World", subfolder="transformer", dtype=torch.bfloat16)

CosmosTransformer3DModel

클래스 diffusers.CosmosTransformer3DModel

< >

( in_channels: int = 16out_channels: int = 16num_attention_heads: int = 32attention_head_dim: int = 128num_layers: int = 28mlp_ratio: float = 4.0text_embed_dim: int = 1024adaln_lora_dim: int = 256max_size: tuple = (128, 240, 240)patch_size: tuple = (1, 2, 2)rope_scale: tuple = (2.0, 1.0, 1.0)concat_padding_mask: bool = Trueextra_pos_embed_type: str | None = 'learnable'use_crossattn_projection: bool = Falsecrossattn_proj_in_channels: int = 1024encoder_hidden_states_channels: int = 1024controlnet_block_every_n: int | None = Noneimg_context_dim_in: int | None = Noneimg_context_num_tokens: int = 256img_context_dim_out: int = 2048 )

매개변수

  • in_channels (int, 기본값 16) — 입력의 채널 수입니다.
  • out_channels (int, 기본값 16) — 출력의 채널 수입니다.
  • num_attention_heads (int, 기본값 32) — 멀티헤드 어텐션에 사용할 헤드의 수입니다.
  • attention_head_dim (int, 기본값 128) — 각 attention head의 채널 수입니다.
  • num_layers (int, 기본값 28) — 사용할 transformer 블록의 레이어 수입니다.
  • mlp_ratio (float, 기본값 4.0) — 피드포워드 네트워크에서 은닉층 크기와 입력 크기의 비율입니다.
  • text_embed_dim (int, 기본값 4096) — 텍스트 인코더에서 생성된 텍스트 임베딩의 입력 차원입니다.
  • adaln_lora_dim (int, 기본값 256) — Adaptive LayerNorm LoRA 레이어의 숨겨진 차원입니다.
  • max_size (tuple[int, int, int], 기본값 (128, 240, 240)) — 시간, 높이, 너비 차원에서의 입력 latent 텐서의 최대 크기입니다.
  • patch_size (tuple[int, int, int], 기본값 (1, 2, 2)) — 시간, 높이, 너비 차원에서 입력 잠재 텐서를 패치화할 때 사용할 패치 크기입니다.
  • rope_scale (tuple[float, float, float], 기본값 (2.0, 1.0, 1.0)) — 시간, 높이, 너비 차원에서 RoPE에 사용할 스케일링 계수입니다.
  • concat_padding_mask (bool, 기본값 True) — 패딩 마스크를 입력 잠재 텐서에 연결할지 여부입니다.
  • extra_pos_embed_type (str, 선택 사항, 기본값 learnable) — 사용할 추가 위치 임베딩의 유형입니다. None 또는 learnable 중 하나여야 합니다.
  • controlnet_block_every_n (int, 선택 사항) — 컨트롤 잔차를 받아야 하는 트랜스포머 블록 사이의 간격(예: 7은 매 7번째 블록 이후에 주입함을 의미). Cosmos Transfer2.5에 필수적입니다.
  • img_context_dim_in (int, 선택 사항) — 입력 이미지 컨텍스트 특징 벡터의 차원입니다. 즉, [B, N, D]에서 D에 해당합니다.
  • img_context_num_tokens (int) — 이미지 컨텍스트 특징 벡터의 토큰 수, 즉 [B, N, D]의 N입니다. img_context_dim_in이 제공되지 않으면 이 매개변수는 무시됩니다.
  • img_context_dim_out (int) — 이미지 컨텍스트 투영 레이어의 출력 차원입니다. img_context_dim_in이 제공되지 않으면 이 매개변수는 무시됩니다.

Cosmos에서 사용되는 비디오 유사 데이터용 Transformer 모델입니다.

forward

< >

( hidden_states: Tensortimestep: Tensorencoder_hidden_states: Tensorblock_controlnet_hidden_states: list[torch.Tensor] | None = Noneattention_mask: typing.Optional[torch.Tensor] = Nonefps: int | None = Nonecondition_mask: typing.Optional[torch.Tensor] = Nonepadding_mask: typing.Optional[torch.Tensor] = Nonereturn_dict: bool = True )

매개변수

  • hidden_states (torch.Tensor, shape (batch_size, num_channels, num_frames, height, width)) — 입력 hidden_states.
  • timestep (torch.LongTensor) — 디노이징 단계를 나타내는 데 사용됩니다.
  • encoder_hidden_states (torch.Tensor, shape (batch_size, sequence_len, embed_dims)) — 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).
  • block_controlnet_hidden_states (list of torch.Tensor, 선택 사항) — 지정된 경우 transformer 블록의 잔차에 추가되는 텐서 목록입니다.
  • attention_mask (torch.Tensor, 선택 사항) — Attention 과정에서 encoder_hidden_states에 적용되는 마스크입니다.
  • fps (int, 선택 사항) — 회전 위치 임베딩을 계산하는 데 사용되는 입력 비디오의 초당 프레임 수.
  • condition_mask (torch.Tensor, 선택 사항) — 조건부 영역을 나타내기 위해 hidden_states에 연결되는 마스크 채널입니다.
  • padding_mask (torch.Tensor, 선택 사항) — concat_padding_mask가 활성화된 경우 hidden_states에 연결되는 패딩 마스크입니다.
  • return_dict (bool, 선택 사항, 기본값 True) — 단순 tuple 대신 ~models.transformer_2d.Transformer2DModelOutput를 반환할지 여부.

CosmosTransformer3DModel의 forward 메서드입니다.

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의 출력입니다.

Update on GitHub