Buckets:
ChronoEditTransformer3DModel
NVIDIA와 토론토 대학교의 Jay Zhangjie Wu, Xuanchi Ren, Tianchang Shen, Tianshi Cao, Kai He, Yifan Lu, Ruiyuan Gao, Enze Xie, Shiyi Lan, Jose M. Alvarez, Jun Gao, Sanja Fidler, Zian Wang, Huan Ling이 발표한 ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation의 3D 비디오 유사 데이터용 Diffusion Transformer 모델입니다.
요약: ChronoEdit는 이미지 편집을 비디오 생성 작업으로 재정의하며, 입력 이미지와 편집된 이미지를 시작/종료 프레임으로 사용하여 시간적 일관성을 갖춘 사전 학습된 비디오 모델을 활용합니다. 시간 추론 단계에서는 물리적으로 타당한 편집을 보장하고 편집 궤적을 시각화하기 위해 추론 토큰을 도입합니다.
다음 코드 스니펫으로 모델을 로드할 수 있습니다.
from diffusers import ChronoEditTransformer3DModel
transformer = ChronoEditTransformer3DModel.from_pretrained("nvidia/ChronoEdit-14B-Diffusers", subfolder="transformer", dtype=torch.bfloat16)
ChronoEditTransformer3DModel[[diffusers.ChronoEditTransformer3DModel]]
diffusers.ChronoEditTransformer3DModel[[diffusers.ChronoEditTransformer3DModel]]
diffusers.ChronoEditTransformer3DModel(patch_size: tuple = (1, 2, 2), num_attention_heads: int = 40, attention_head_dim: int = 128, in_channels: int = 16, out_channels: int = 16, text_dim: int = 4096, freq_dim: int = 256, ffn_dim: int = 13824, num_layers: int = 40, cross_attn_norm: bool = True, qk_norm: str | None = 'rms_norm_across_heads', eps: float = 1e-06, image_dim: int | None = None, added_kv_proj_dim: int | None = None, rope_max_seq_len: int = 1024, pos_embed_seq_len: int | None = None, rope_temporal_skip_len: int = 8)
매개변수:
patch_size (tuple[int], 기본값 (1, 2, 2)) : 비디오 임베딩을 위한 3D 패치 차원 (t_patch, h_patch, w_patch).
num_attention_heads (int, 기본값 40) : 텍스트 임베딩의 고정 길이입니다.
attention_head_dim (int, 기본값 128) : 각 헤드(head)의 채널 수입니다.
in_channels (int, 기본값 16) : 입력의 채널 수.
out_channels (int, 기본값 16) : 출력의 채널 수.
text_dim (int, 기본값 512) : 텍스트 임베딩의 입력 차원입니다.
freq_dim (int, 기본값 256) : 사인oidal 시간 임베딩의 차원.
ffn_dim (int, 기본값 13824) : 피드포워드 네트워크의 중간 차원.
num_layers (int, 기본값 40) : 사용할 transformer 블록의 레이어 수입니다.
window_size (tuple[int], 기본값 (-1, -1)) : 로컬 어텐션의 윈도우 크기(-1은 글로벌 어텐션을 나타냅니다).
cross_attn_norm (bool, 기본값 True) : cross-attention 정규화를 활성화합니다.
qk_norm (bool, 기본값 True) : query/key 정규화를 활성화합니다.
eps (float, 기본값 1e-6) : 정규화 레이어에 사용되는 Epsilon 값.
add_img_emb (bool, 기본값 False) : img_emb을 사용할지 여부.
added_kv_proj_dim (int, 선택 사항, 기본값 None) : 추가된 key 및 value projection에 사용할 채널 수입니다. None인 경우 projection이 사용되지 않습니다.
ChronoEdit 모델에서 비디오와 유사한 데이터에 사용되는 Transformer 모델입니다.
forward[[diffusers.ChronoEditTransformer3DModel.forward]]
forward(hidden_states: Tensor, timestep: LongTensor, encoder_hidden_states: Tensor, encoder_hidden_states_image: typing.Optional[torch.Tensor] = None, return_dict: bool = True, attention_kwargs: dict[str, typing.Any] | None = None)
매개변수:
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)) : 사용할 조건 임베딩(프롬프트와 같은 입력 조건에서 계산된 임베딩).
encoder_hidden_states_image (torch.Tensor, 선택 사항) : 이미지 조건 생성을 위한 조건부 이미지 임베딩.
return_dict (bool, 선택 사항, 기본값 True) : 일반 튜플 대신 ~models.transformer_2d.Transformer2DModelOutput을 반환할지 여부.
attention_kwargs (dict, 선택 사항) : 지정된 경우 diffusers.models.attention_processor의 self.processor 아래에서 정의된 AttentionProcessor로 전달되는 kwargs 사전입니다.
반환값:
return_dict가 True이면 ~models.transformer_2d.Transformer2DModelOutput이 반환되고, 그렇지 않으면 첫 번째 요소가 샘플 텐서인 tuple이 반환됩니다.
ChronoEditTransformer3DModel의 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.34 kB
- Xet hash:
- eb527d2cab899ae0e71af9ad2bc58268815231dc3b812cf54f805e3bef82ae11
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.