Diffusers documentation
RFD4ProteinaAutoencoder
RFD4ProteinaAutoencoder
Autoencoder của RFD4-Proteína. encode ánh xạ tọa độ atom37 sang các latent cục bộ theo từng token, và decode chuyển các latent cùng vị trí khung xương trở lại thành cấu trúc atom37 và danh tính các residue. Nó được đăng ký trong pipeline dưới tên vae.
from diffusers import RFD4ProteinaAutoencoder
vae = RFD4ProteinaAutoencoder.from_pretrained("nvidia/RFD4-Proteina-Diffusers", subfolder="vae")RFD4ProteinaAutoencoder
lớp diffusers.RFD4ProteinaAutoencoder
< source >( atom37_mask: Sequenceallowed_residue_types: Sequencelatent_dim: int = 32n_residue_types: int = 147num_token_types: int = 7nlayers: int = 12token_dim: int = 768nheads: int = 12dim_cond: int = 128pair_repr_dim: int = 256token_type_emb_dim: int = 32encoder_feats_seq: tuple = ('token_type', 'x1_a37coors_nm', 'x1_a37coors_nm_rel', 'chain_idx_seq', 'incident_bond_type_counts', 'atom37_element_charge_embedding')decoder_feats_seq: tuple = ('ca_coors_nm', 'z_latent_seq', 'token_type', 'cond_residue_type') )
Tham số
- latent_dim (
int, mặc định là32) — Độ rộng của latent cục bộ cho từng token. - n_residue_types (
int, mặc định là147) — Kích thước từ vựng của residue. - num_token_types (
int, mặc định là7) — Kích thước của từ vựng token-type: protein, RNA, DNA, atomized, unknown, glycan và amino acid không chính tắc. - allowed_residue_types (
list[list[bool]]) — bảng các lớp residue mà mỗi loại token có thể giải mã thành, kích thước(num_token_types, n_residue_types). - nlayers (
int, mặc định là12) — Số lớp trunk trong mỗi bộ mã hóa và bộ giải mã. - token_dim (
int, mặc định là768) — Độ rộng của biểu diễn token. - nheads (
int, mặc định là12) — Số đầu attention mỗi lớp. - dim_cond (
int, mặc định là128) — Độ rộng của vector điều kiện (không được sử dụng, bằng không). - pair_repr_dim (
int, mặc định là256) — Chiều rộng của cặp mà các lớp trunk được xây dựng. Autoencoder được phát hành không sử dụng pair bias, do đó tham số này không giữ bất kỳ tham số nào. - token_type_emb_dim (
int, mặc định là32) — Chiều rộng của embedding loại token. - encoder_feats_seq, decoder_feats_seq (
list[str]) — Các đặc trưng được chiếu vào đầu vào của encoder và decoder. - atom37_mask (
list[list[bool]]) — Các vị trí atom37 hợp lệ cho từng loại residue, có hình dạng(n_residue_types, 37).
Bộ mã hóa phân tử ghép cặp và bộ giải mã atom37.
Tọa độ được cung cấp cho và trả về bởi mô hình này được tính bằng nanomet.
encode
< source >( coords_nm: Tensorpadding_mask: Tensortoken_type: typing.Optional[torch.Tensor] = Noneatom37_mask: typing.Optional[torch.Tensor] = Noneconditioning: dict[str, typing.Any] | None = Nonegenerator: typing.Union[torch.Generator, list[torch.Generator], NoneType] = Nonereturn_dict: bool = True ) → RFD4ProteinaEncoderOutput or tuple
Tham số
- coords_nm (
torch.Tensor) — tọa độ của 37 nguyên tử, đơn vị nanomet, có dạng(batch, tokens, 37, 3). - padding_mask (
torch.Tensor) —(batch, tokens), true tại các vị trí token thực sự thay vì padding. - token_type (
torch.Tensor, tùy chọn) — mã token-type(batch, tokens). - atom37_mask (
torch.Tensor, tuỳ chọn) —(batch, tokens, 37), giá trị true tại các vị trí mà một slot nguyên tử được sử dụng. - conditioning (
dict[str, Any], tùy chọn) — Các tensor topology và conditioning còn lại, theo các khóa mà preprocessor phát ra. - generator (
torch.Generatorhoặclist[torch.Generator], tuỳ chọn) — Một generator cho mỗi hàng trong batch để lấy mẫu latent ngẫu nhiên độc lập. Nếu không có, việc lấy mẫu sẽ lấy từ luồng toàn cục. - return_dict (
bool, mặc định làTrue) — Trả về một đầu ra có kiểu, hoặc một tuple chứa các trường của nó.
Trả về
RFD4ProteinaEncoderOutput hoặc tuple
Các tensor dạng latent, mean và log-scale có hình dạng (batch, tokens, latent_dim).
Mã hóa các tọa độ đã chuẩn bị và điều kiện thành các latent cục bộ theo từng token đã lấy mẫu.
decode
< source >( z_latent: Tensorca_coors_nm: Tensorpadding_mask: Tensortoken_type: typing.Optional[torch.Tensor] = Noneatom37_mask: typing.Optional[torch.Tensor] = Noneconditioning: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → RFD4ProteinaDecoderOutput or tuple
Tham số
- z_latent (
torch.Tensor) —(batch, tokens, latent_dim)các latent cục bộ theo từng token. - ca_coors_nm (
torch.Tensor) —(batch, tokens, 3)vị trí CA của backbone tính bằng nanomet. - padding_mask (
torch.Tensor) —(batch, tokens), true tại các vị trí token thực sự thay vì padding. - token_type (
torch.Tensor, tùy chọn) — mã token-type(batch, tokens). - atom37_mask (
torch.Tensor, tuỳ chọn) —(batch, tokens, 37), giá trị true tại các vị trí mà một slot nguyên tử được sử dụng. - conditioning (
dict[str, Any], tùy chọn) — Các tensor topology và conditioning còn lại, dưới các key mà preprocessor phát ra. Điều kiện chuỗi (sequence condition) được đọc từ đây. - return_dict (
bool, mặc định làTrue) — Trả về một đầu ra có kiểu, hoặc một tuple chứa các trường của nó.
Trả về
RFD4ProteinaDecoderOutput hoặc tuple
Tọa độ (batch, tokens, 37, 3) tính bằng nanomet, loại residue
(batch, tokens), emission mask (batch, tokens) và atom mask (batch, tokens, 37). Tọa độ của các atom không được phát ra bằng 0.
Giải mã các ẩn (latents) theo từng token và các vị trí của backbone thành cấu trúc atom37.
forward
< source >( z_latent: Tensorca_coors_nm: Tensorpadding_mask: Tensortoken_type: typing.Optional[torch.Tensor] = Noneatom37_mask: typing.Optional[torch.Tensor] = Noneconditioning: dict[str, typing.Any] | None = Nonereturn_dict: bool = True ) → RFD4ProteinaDecoderOutput or tuple
Tham số
- z_latent (
torch.Tensor) —(batch, tokens, latent_dim)các latent cục bộ theo từng token. - ca_coors_nm (
torch.Tensor) —(batch, tokens, 3)vị trí CA của backbone tính bằng nanomet. - padding_mask (
torch.Tensor) —(batch, tokens), true tại các vị trí token thực sự thay vì padding. - token_type (
torch.Tensor, tùy chọn) — mã token-type(batch, tokens). - atom37_mask (
torch.Tensor, tuỳ chọn) —(batch, tokens, 37), giá trị true tại các vị trí mà một slot nguyên tử được sử dụng. - conditioning (
dict[str, Any], tùy chọn) — Các tensor topology và conditioning còn lại. - return_dict (
bool, mặc định làTrue) — Trả về một đầu ra có kiểu, hoặc một tuple chứa các trường của nó.
Trả về
RFD4ProteinaDecoderOutput hoặc tuple
Tọa độ đã giải mã, các loại gốc và mặt nạ nguyên tử/phát xạ.
Giải mã các ẩn (latents) và vị trí backbone cho từng token; tương đương với việc gọi decode().
RFD4ProteinaEncoderOutput
class diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaEncoderOutput
< source >( latent: Tensormean: typing.Optional[torch.Tensor] = Nonelog_scale: typing.Optional[torch.Tensor] = None )
Tham số
Các tham số latent và Gaussian được lấy mẫu, mỗi tham số có hình dạng (batch, tokens, latent_dim).
RFD4ProteinaDecoderOutput
lớp diffusers.models.autoencoders.autoencoder_rfd4_proteina.RFD4ProteinaDecoderOutput
< source >( coordinates: Tensorresidue_type: typing.Optional[torch.Tensor] = Noneemit_mask: typing.Optional[torch.Tensor] = Noneatom_mask: typing.Optional[torch.Tensor] = None )
Tham số
- coordinates (
torch.Tensor) — Tọa độ(batch, tokens, 37, 3)tính bằng nanomet; các nguyên tử không được phát ra có giá trị bằng 0. - residue_type (
torch.Tensor) — Chỉ số từ vựng residue có hình dạng(batch, tokens). - emit_mask (
torch.Tensor) — Mặt nạ boolean cho các token được phát ra, có hình dạng(batch, tokens). - atom_mask (
torch.Tensor) — Mặt nạ boolean cho các nguyên tử hợp lệ, có hình dạng(batch, tokens, 37).
Tọa độ phân tử đã giải mã và topo nguyên tử37 rời rạc.