Transformers documentation
ESM
Bu model 2022-09-30 tarihinde Hugging Face Transformers'a katkıda bulunulmuştur.
ESM
Genel Bakış
Bu sayfa, Meta AI Temel Yapay Zekâ Araştırma Ekibi'nin Transformer tabanlı protein dil modelleri için kod ve önceden eğitilmiş ağırlıkları sunmaktadır; bunlar arasında son teknoloji ESMFold ve ESM-2 ile daha önce yayımlanmış ESM-1b ve ESM-1v yer almaktadır. Transformer tabanlı protein dil modelleri, Alexander Rives, Joshua Meier, Tom Sercu, Siddharth Goyal, Zeming Lin, Jason Liu, Demi Guo, Myle Ott, C. Lawrence Zitnick, Jerry Ma ve Rob Fergus tarafından kaleme alınan Biological structure and function emerge from scaling unsupervised learning to 250 million protein sequences makalesinde tanıtılmıştır. Bu makalenin ilk sürümü 2019'da ön baskı olarak yayımlanmıştır.
ESM-2, bir dizi yapı tahmini görevinde test edilen tüm tek dizili protein dil modellerinden daha iyi performans gösterir ve atomik çözünürlükte yapı tahmini imkânı sunar. Zeming Lin, Halil Akin, Roshan Rao, Brian Hie, Zhongkai Zhu, Wenting Lu, Allan dos Santos Costa, Maryam Fazel-Zarandi, Tom Sercu, Sal Candido ve Alexander Rives tarafından kaleme alınan Evrim ölçeğinde protein dizisi dil modelleri doğru yapı tahmini sağlar başlıklı makaleyle birlikte yayımlandı.
Bu makalede ESMFold da tanıtıldı. Katlanmış protein yapılarını son derece yüksek doğrulukla tahmin edebilen bir başlığa sahip ESM-2 gövdesi kullanır. AlphaFold2'nin aksine, büyük ölçekli önceden eğitilmiş protein dil modeli gövdesinden gelen token gömümlemelerine dayanır ve çıkarım sırasında çoklu dizilim hizalama (MSA) adımı gerçekleştirmez. Bu durum, ESMFold kontrol noktalarının tamamen “bağımsız” olduğu anlamına gelir; tahmin yapmak için bilinen protein dizileri ve yapıları veritabanına ve ilişkili harici sorgu araçlarına ihtiyaç duymazlar ve bu sayede çok daha hızlı çalışırlar.
“250 milyon protein dizisine ölçeklendirilmiş denetimsiz öğrenme ile biyolojik yapı ve işlev ortaya çıkar” başlıklı makalenin özeti
Yapay zeka alanında, denetimsiz öğrenme sayesinde sağlanan veri ve model kapasitesindeki ölçek artışı, temsil öğrenmesinde ve istatistiksel üretimde önemli ilerlemelere yol açmıştır. Yaşam bilimlerinde, dizileme alanındaki beklenen büyüme, doğal dizi çeşitliliği hakkında eşi benzeri görülmemiş veriler vaat etmektedir. Evrim ölçeğinde protein dil modellemesi, biyoloji için öngörücü ve üretken yapay zekaya giden mantıklı bir adımdır. Bu amaçla, evrimsel çeşitliliği kapsayan 250 milyon protein dizisindeki 86 milyar amino asit üzerinde derin bağlamsal bir dil modeli eğitmek için denetimsiz öğrenme kullanıyoruz. Sonuç olarak elde edilen model, temsillerinde biyolojik özelliklere ilişkin bilgi barındırmaktadır. Temsiller yalnızca dizi verisinden öğrenilir. Öğrenilen temsil uzayı, amino asitlerin biyokimyasal özelliklerinden proteinlerin uzak homologisine kadar uzanan bir yapıyı yansıtan çok ölçekli bir organizasyona sahiptir. İkincil ve üçüncül yapıya ilişkin bilgi temsillere kodlanmıştır ve doğrusal projeksiyonlarla tespit edilebilir. Temsil öğrenmesi, mutasyon etkisi ve ikincil yapı için en iyi düzeyde denetimli öngörüye olanak tanıyan ve uzun menzilli temas öngörüsü için en iyi düzeydeki özellikleri iyileştiren, çeşitli uygulamalar arasında genelleştirilebilen özellikler üretir.
“Evrim ölçeğinde protein dizileri için dil modelleri, doğru yapı tahminini mümkün kılar” başlıklı makalenin özeti
Büyük dil modellerinin, ölçekle birlikte ortaya çıkan yetenekler geliştirdiği, basit desen eşleştirmesinin ötesine geçerek daha üst düzey akıl yürütme yapabildiği ve gerçekçi görüntü ve metinler üretebildiği son zamanlarda gösterilmiştir. Protein dizileri üzerinde eğitilen dil modelleri daha küçük ölçeklerde incelenmiş olsa da, ölçeklendirildikçe biyoloji hakkında ne öğrendikleri hakkında çok az şey bilinmektedir. Bu çalışmada, bugüne kadar değerlendirilen en büyük protein dil modelleri olan 15 milyar parametreye kadar modeller eğittik. Modeller ölçeklendikçe, proteinin üç boyutlu yapısının bireysel atom çözünürlüğünde tahmin edilmesini sağlayan bilgi öğrendiklerini tespit ettik. Bir proteinin tekil dizisinden doğrudan yüksek doğrulukta uçtan uca atom düzeyinde yapı tahmini için ESMFold'u sunuyoruz. Dil modeli tarafından iyi anlaşılan, düşük şaşkınlık (perplexity) değerine sahip diziler için ESMFold'un doğruluğu, AlphaFold2 ve RoseTTAFold ile benzerdir. ESMFold çıkarımı, AlphaFold2'den bir büyüklük mertebesinde daha hızlıdır ve metagenomik proteinlerin yapısal uzayının pratik zaman ölçeklerinde keşfedilmesini mümkün kılar.
Orijinal kod burada bulunabilir ve Meta AI'daki Fundamental AI Research ekibi tarafından geliştirilmiştir. ESM-1b, ESM-1v ve ESM-2, huggingface'e jasonliu ve Matt tarafından katkıda bulunmuştur.
ESMFold, Matt ve Sylvain tarafından huggingface'e katkıda bulunmuştur; bu süreç boyunca verdikleri destek için Nikita Smetanin, Roshan Rao ve Tom Sercu'ya büyük teşekkürler!
Kullanım ipuçları
- ESM modelleri, maskeli dil modelleme (MLM) hedefiyle eğitilir.
- ESMFold'un HuggingFace portu, openfold kütüphanesinin bazı bölümlerini kullanır.
openfoldkütüphanesi Apache 2.0 Lisansı altında lisanslanmıştır.
Kaynaklar
- Metin sınıflandırma görevi kılavuzu
- Token sınıflandırma görevi kılavuzu
- Masked dil modelleme görevi kılavuzu
EsmConfig
sınıf transformers.EsmConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonevocab_size: int | None = Nonemask_token_id: int | None = Nonepad_token_id: int | None = Nonehidden_size: int = 768num_hidden_layers: int = 12num_attention_heads: int = 12intermediate_size: int = 3072hidden_dropout_prob: float | None = 0.1attention_probs_dropout_prob: float | None = 0.1max_position_embeddings: int = 1026rope_theta: float = 10000.0initializer_range: float = 0.02layer_norm_eps: float | None = 1e-12position_embedding_type: str | None = 'absolute'use_cache: bool = Trueemb_layer_norm_before: bool | None = Nonetoken_dropout: bool | None = Falseis_folding_model: bool | None = Falseesmfold_config: dict | transformers.models.esm.configuration_esm.EsmFoldConfig | None = Nonevocab_list: list[str] | tuple[str, ...] | None = Noneis_decoder: bool | None = Falseadd_cross_attention: bool | None = Falsetie_word_embeddings: bool = Truebos_token_id: int | None = Noneeos_token_id: int | list[int] | None = 2 )
Parametreler
- vocab_size (
int, isteğe bağlı) — Modelin sözlük boyutu.input_idsile temsil edilebilecek farklı token sayısını belirler. - mask_token_id (
int, isteğe bağlı) — Sözlükte mask jetonunun indeksi. Bu, “mask-dropout” ölçeklendirme hilesi nedeniyle yapılandırmada yer almalıdır; bu hile, maskelenmiş jeton sayısına bağlı olarak girdileri ölçeklendirir. - pad_token_id (
int, isteğe bağlı) — Sözlükte dolgu için kullanılan token kimliği. - hidden_size (
int, isteğe bağlı, varsayılan768) — Gizli temsillerin boyutu. - num_hidden_layers (
int, isteğe bağlı, varsayılan12) — Transformer çözücüdeki gizli katman sayısı. - num_attention_heads (
int, isteğe bağlı, varsayılan12) — Transformer decoder'ındaki her dikkat katmanı için dikkat başı sayısı. - intermediate_size (
int, isteğe bağlı, varsayılan3072) — MLP temsillerinin boyutu. - hidden_dropout_prob (
float, isteğe bağlı, varsayılan0.1) — Gömme, kodlayıcı ve havuzlayıcıdaki tüm tam bağlı katmanlar için dropout olasılığı. - attention_probs_dropout_prob (
float, isteğe bağlı, varsayılan0.1) — Dikkat olasılıkları için dropout oranı. - max_position_embeddings (
int, isteğe bağlı, varsayılan1026) — Bu modelin kullanılabileceği maksimum dizi uzunluğu. - rope_theta (
float, varsayılan 10000.0) — RoPE gömmelemelerinin temel periyodu. Yalnızcaposition_embedding_type"rotary"olarak ayarlandığında kullanılır. - initializer_range (
float, isteğe bağlı, varsayılan0.02) — Tüm ağırlık matrislerini başlatmak için kullanılan truncated_normal_initializer'ın standart sapması. - layer_norm_eps (
float, isteğe bağlı, varsayılan1e-12) — Katman normalizasyon katmanları tarafından kullanılan epsilon. - position_embedding_type (
str, isteğe bağlı, varsayılan"absolute") — Konum gömme türü."absolute"veya “rotary”` seçeneklerinden birini seçin. - use_cache (
bool, isteğe bağlı, varsayılanTrue) — Modelin son anahtar/değer dikkatlerini (tüm modellerde kullanılmaz) döndürüp döndürmeyeceği. Yalnızcaconfig.is_decoder=Trueolduğunda veya model yalnızca çözücü tabanlı üretken bir model olduğunda geçerlidir. - emb_layer_norm_before (
bool, isteğe bağlı) — Gömme katmanından sonra ama ağın ana gövdesinden önce katman normalizasyonu uygulanıp uygulanmayacağı. - token_dropout (
bool, varsayılanFalse) — Bu özellik etkinleştirildiğinde, maskelenmiş tokenlar, girdi dropout'unda düşürülmüş gibi ele alınır. - is_folding_model (
bool, varsayılanFalse) — Bu özellik etkinleştirildiğinde, ESMFold modeli başlatılır. - esmfold_config (
dict, opsiyonel) — ESMFold modülünü başlatmak için yapılandırma. - vocab_list (
list, optional) — List of the vocabulary items. - is_decoder (
bool, isteğe bağlı, varsayılanFalse) — Modelin bir decoder olarak kullanılıp kullanılmadığı.Falseise model bir encoder olarak kullanılır. - add_cross_attention (
bool, isteğe bağlı, varsayılanFalse) — Modelde çapraz dikkat katmanlarının eklenip eklenmeyeceğini belirtir. - tie_word_embeddings (
bool, isteğe bağlı, varsayılanTrue) — Modelintied_weights_keyseşlemesine göre ağırlık gömme bağlamalarının yapılıp yapılmayacağı. - bos_token_id (
int, isteğe bağlı) — Sözlükte akış başlangıcı için kullanılan token kimliği. - eos_token_id (
Union[int, list[int]], isteğe bağlı, varsayılan2) — Sözlükte akış sonu için kullanılan token kimliği.
Bu, bir EsmModel yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Esm modelinin örneklenmesi ve model mimarisinin tanımlanması için kullanılır. Varsayılan değerlerle bir yapılandırma örneklendiğinde, facebook/esm-1b ile benzer bir yapılandırma elde edilir.
Yapılandırma nesneleri PreTrainedConfig sınıfından devralır ve model çıktılarını kontrol etmek için kullanılabilir. Daha fazla bilgi için PreTrainedConfig belgesini okuyun.
Örnekler:
>>> from transformers import EsmModel, EsmConfig
>>> # Initializing a ESM facebook/esm-1b style configuration
>>> configuration = EsmConfig(vocab_size=33)
>>> # Initializing a model from the configuration
>>> model = EsmModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configEsmTokenizer
sınıf transformers.EsmTokenizer
< source >( vocab_fileunk_token = '<unk>'cls_token = '<cls>'pad_token = '<pad>'mask_token = '<mask>'eos_token = '<eos>'**kwargs )
Bir ESM belirteç oluşturucu oluşturur.
build_inputs_with_special_tokens
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None )
get_special_tokens_mask
< source >( token_ids_0: listtoken_ids_1: list | None = Nonealready_has_special_tokens: bool = False ) → A list of integers in the range [0, 1]
Parametreler
- token_ids_0 (
list[int]) — İlk dizinin kimlik listesi. - token_ids_1 (
list[int], isteğe bağlı) — İkinci dizinin kimlik listesi. - already_has_special_tokens (
bool, isteğe bağlı, varsayılanFalse) — Token listesinin, model için özel token'larla zaten biçimlendirilmiş olup olmadığı.
Dönüş değeri
[0, 1] aralığında tamsayıların bir listesi
özel bir jeton için 1, bir dizi jetonu için 0.
Özel tokenler eklenmemiş bir token listesinden dizi kimliklerini alır. Bu yöntem, tokenizer'ın prepare_for_model veya encode_plus yöntemleri kullanılarak özel tokenler eklenirken çağrılır.
create_token_type_ids_from_sequences
< source >( token_ids_0: listtoken_ids_1: list[int] | None = None ) → list[int]
Bir sıralama çifti sınıflandırma görevinde kullanılacak şekilde, iletilen iki sıralamadan bir maske oluşturun.
Bu yöntem, belirteçsizin yapılandırma özniteliklerine dayanarak belirteç türü kimliklerini dinamik olarak oluşturur:
token_type_ids_pattern: Kullanılacak desen (“all_zeros” veya “bert_style”)token_type_ids_include_special_tokens: Uzunluk hesabında özel jetonların dikkate alınıp alınmayacağı
Örnekler:
# All zeros pattern (default, used by RoBERTa, BART, etc.)
tokenizer.token_type_ids_pattern = "all_zeros"
# Returns: [0, 0, 0, ...] for both sequences
# BERT-style pattern (first sequence gets 0s, second gets 1s)
tokenizer.token_type_ids_pattern = "bert_style"
# Returns: [0, 0, 0, ..., 1, 1, 1, ...] for sequence pairsEsmModel
sınıf transformers.EsmModel
< source >( config: EsmConfigadd_pooling_layer = True )
Parametreler
- config (EsmConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
- add_pooling_layer (
bool, isteğe bağlı, varsayılanTrue) — Bir havuzlama katmanı eklenip eklenmeyeceği
Üzerinde herhangi bir özel head olmadan ham hidden-state çıktısı üreten çıplak Esm Model.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneencoder_hidden_states: typing.Optional[torch.Tensor] = Noneencoder_attention_mask: typing.Optional[torch.Tensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → BaseModelOutputWithPoolingAndCrossAttentions or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde((batch_size, sequence_length))) — Girdi dizisi belirteçlerinin sözlükteki indeksleri.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- position_ids (
torch.LongTensorşeklinde((batch_size, sequence_length)), isteğe bağlı) — Girdi dizisindeki her token'ın konum gömme (position embedding) içindeki konum endeksleri. Seçim aralığı[0, config.max_position_embeddings - 1]. - inputs_embeds (
torch.FloatTensor, şekli((batch_size, sequence_length), hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - encoder_hidden_states (
torch.Tensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Encoder'ın son katmanının çıktısındaki gizli durumlar dizisi. Model bir decoder olarak yapılandırılmışsa çapraz dikkat (cross-attention) için kullanılır. - encoder_attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Giriş verisindeki dolgu (padding) jetonlarının indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Model bir decoder olarak yapılandırılmışsa bu maske çapraz dikkat (cross-attention) işleminde kullanılır. Maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
Dönüş değeri
BaseModelOutputWithPoolingAndCrossAttentions veya tuple(torch.FloatTensor)
A BaseModelOutputWithPoolingAndCrossAttentions veya bir torch.FloatTensor tuple'ı (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (EsmConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
EsmModel forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
last_hidden_state (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size)) — Modelin son katmanının çıktısındaki gizli durumlar dizisi.pooler_output (
torch.FloatTensor, şekli(batch_size, hidden_size)) — Sıranın ilk token'ının (sınıflandırma token'ı) son katman gizli durumu, yardımcı ön eğitim görevi için kullanılan katmanlar üzerinden ek işlemden geçirildikten sonraki hali. Örneğin BERT ailesi modelleri için, bu, sınıflandırma token'ının doğrusal bir katman ve tanh aktivasyon fonksiyonu üzerinden işlenmesinden sonra döndürülen değerdir. Doğrusal katman ağırlıkları, ön eğitim sırasında bir sonraki cümle tahmini (sınıflandırma) hedefinden eğitilir.hidden_states (
tuple(torch.FloatTensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
cross_attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Trueveconfig.add_cross_attention=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) — Şekli(batch_size, num_heads, sequence_length, sequence_length)olantorch.FloatTensor(her katman için bir tane) içeren bir demet.Dekoderin çapraz dikkat katmanının dikkat ağırlıkları, dikkat softmax'ından sonra, çapraz dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
past_key_values (
Cache, isteğe bağlı,use_cache=Truegeçirildiğinde veyaconfig.use_cache=Trueolduğunda döndürülür) — Bir Cache örneğidir. Daha fazla ayrıntı için kv cache kılavuzumuza bakın.Sıralı çözümlemeyi hızlandırmak için (bkz.
past_key_valuesgirdisi) kullanılabilen, önceden hesaplanmış gizli durumları (self-attention bloklarındaki anahtar ve değerler ve isteğe bağlı olarakconfig.is_encoder_decoder=Trueise cross-attention bloklarındaki anahtar ve değerler) içerir.
EsmForMaskedLM
sınıf transformers.EsmForMaskedLM
< source >( config: EsmConfig )
Parametreler
- config (EsmConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Üstünde language modeling başlığı bulunan Esm Modeli.”
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Noneencoder_hidden_states: typing.Optional[torch.FloatTensor] = Noneencoder_attention_mask: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → MaskedLMOutput or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- position_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı[0, config.n_positions - 1]. - inputs_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - encoder_hidden_states (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — Encoder'ın son katmanının çıktısındaki gizli durumlar dizisi. Model bir decoder olarak yapılandırılmışsa çapraz dikkat (cross-attention) için kullanılır. - encoder_attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Giriş verisindeki dolgu (padding) jetonlarının indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Model bir decoder olarak yapılandırılmışsa bu maske çapraz dikkat (cross-attention) işleminde kullanılır. Maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- labels (
torch.LongTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Maskeli dil modelleme kaybını hesaplamak için etiketler. Endeksler[-100, 0, ..., config.vocab_size]aralığında olmalıdır (bkz.input_idsdocstring). Endeksleri-100olarak ayarlanan jetonlar yok sayılır (maskelenir), kayıp yalnızca etiketleri[0, ..., config.vocab_size]aralığında olan jetonlar için hesaplanır.
Dönüş değeri
MaskedLMOutput veya tuple(torch.FloatTensor)
A MaskedLMOutput veya return_dict=False geçirildiğinde ya da config.return_dict=False olduğunda torch.FloatTensor içeren bir tuple; yapılandırma (EsmConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
EsmForMaskedLM forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.FloatTensor, şekli(1,), opsiyonel,labelssağlandığında döndürülür) — Maskeli dil modelleme (MLM) kaybı.logits (
torch.FloatTensor, şekli(batch_size, sequence_length, config.vocab_size)) — Dil modelleme başlığının tahmin puanları (SoftMax öncesi her sözlük jetonu için puanlar).hidden_states (
tuple(torch.FloatTensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
Örnek:
>>> from transformers import AutoTokenizer, EsmForMaskedLM
>>> import torch
>>> tokenizer = AutoTokenizer.from_pretrained("facebook/esm-1b")
>>> model = EsmForMaskedLM.from_pretrained("facebook/esm-1b")
>>> inputs = tokenizer("The capital of France is <mask>.", return_tensors="pt")
>>> with torch.no_grad():
... logits = model(**inputs).logits
>>> # retrieve index of <mask>
>>> mask_token_index = (inputs.input_ids == tokenizer.mask_token_id)[0].nonzero(as_tuple=True)[0]
>>> predicted_token_id = logits[0, mask_token_index].argmax(axis=-1)
>>> tokenizer.decode(predicted_token_id)
...
>>> labels = tokenizer("The capital of France is Paris.", return_tensors="pt")["input_ids"]
>>> # mask labels of non-<mask> tokens
>>> labels = torch.where(inputs.input_ids == tokenizer.mask_token_id, labels, -100)
>>> outputs = model(**inputs, labels=labels)
>>> round(outputs.loss.item(), 2)
...EsmForSequenceClassification
sınıf transformers.EsmForSequenceClassification
< source >( config: EsmConfig )
Parametreler
- config (EsmConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Üzerinde bir dizi sınıflandırma/geri dönüşüm başlığı (toplanmış çıktının üzerine yerleştirilen doğrusal bir katman) bulunan ESM Model transformer'ı, örneğin GLUE görevleri için.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → SequenceClassifierOutput or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- position_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı[0, config.n_positions - 1]. - inputs_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - labels (
torch.LongTensor, şekli(batch_size,), isteğe bağlı) — Sınıflandırma/geri dönüş kaybını hesaplamak için etiketler. Endeksler[0, ..., config.num_labels - 1]aralığında olmalıdır.config.num_labels == 1ise bir geri dönüş kaybı (Ortalama Kare kaybı) hesaplanır,config.num_labels > 1ise bir sınıflandırma kaybı (Çapraz Entropi) hesaplanır.
Dönüş değeri
SequenceClassifierOutput veya tuple(torch.FloatTensor)
Bir SequenceClassifierOutput veya
torch.FloatTensor (eğer return_dict=False geçirildiyse veya config.return_dict=False ise) içeren bir demet; yapılandırma (EsmConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
EsmForSequenceClassification forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.FloatTensor, şekli(1,), opsiyonel,labelssağlandığında döndürülür) — Sınıflandırma (config.num_labels==1 ise regresyon) kaybı.logits (
torch.FloatTensor, şekli(batch_size, config.num_labels)) — Sınıflandırma (veya config.num_labels==1 ise regresyon) puanları (SoftMax öncesi).hidden_states (
tuple(torch.FloatTensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
Tek etiketli sınıflandırma örneği:
>>> import torch
>>> from transformers import AutoTokenizer, EsmForSequenceClassification
>>> tokenizer = AutoTokenizer.from_pretrained("facebook/esm-1b")
>>> model = EsmForSequenceClassification.from_pretrained("facebook/esm-1b")
>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
>>> with torch.no_grad():
... logits = model(**inputs).logits
>>> predicted_class_id = logits.argmax().item()
>>> model.config.id2label[predicted_class_id]
...
>>> # To train a model on `num_labels` classes, you can pass `num_labels=num_labels` to `.from_pretrained(...)`
>>> num_labels = len(model.config.id2label)
>>> model = EsmForSequenceClassification.from_pretrained("facebook/esm-1b", num_labels=num_labels)
>>> labels = torch.tensor([1])
>>> loss = model(**inputs, labels=labels).loss
>>> round(loss.item(), 2)
...Çok etiketli sınıflandırma örneği:
>>> import torch
>>> from transformers import AutoTokenizer, EsmForSequenceClassification
>>> tokenizer = AutoTokenizer.from_pretrained("facebook/esm-1b")
>>> model = EsmForSequenceClassification.from_pretrained("facebook/esm-1b", problem_type="multi_label_classification")
>>> inputs = tokenizer("Hello, my dog is cute", return_tensors="pt")
>>> with torch.no_grad():
... logits = model(**inputs).logits
>>> predicted_class_ids = torch.arange(0, logits.shape[-1])[torch.sigmoid(logits).squeeze(dim=0) > 0.5]
>>> # To train a model on `num_labels` classes, you can pass `num_labels=num_labels` to `.from_pretrained(...)`
>>> num_labels = len(model.config.id2label)
>>> model = EsmForSequenceClassification.from_pretrained(
... "facebook/esm-1b", num_labels=num_labels, problem_type="multi_label_classification"
... )
>>> labels = torch.sum(
... torch.nn.functional.one_hot(predicted_class_ids[None, :].clone(), num_classes=num_labels), dim=1
... ).to(torch.float)
>>> loss = model(**inputs, labels=labels).lossEsmForTokenClassification
sınıf transformers.EsmForTokenClassification
< source >( config: EsmConfig )
Parametreler
- config (EsmConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
Üzerinde bir token sınıflandırma başlığı bulunan (gizli durumlar çıktısının üzerine yerleştirilen doğrusal bir katman) Esm transformer'ı, örneğin Adlandırılmış Varlık Tanıma (NER) görevleri için.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: typing.Optional[torch.LongTensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.FloatTensor] = Nonelabels: typing.Optional[torch.LongTensor] = None**kwargs: *<class 'transformers.utils.generic.TransformersKwargs'> ) → TokenClassifierOutput or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Sözlükteki girdi dizisi belirteçlerinin (token) indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- position_ids (
torch.LongTensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı[0, config.n_positions - 1]. - inputs_embeds (
torch.FloatTensor, şekli(batch_size, sequence_length, hidden_size), isteğe bağlı) — İsteğe bağlı olarak,input_idsyerine gömülü bir temsil doğrudan geçmeyi tercih edebilirsiniz. Bu,input_idsdizinlerini ilgili vektörlere dönüştürme biçimi üzerinde modelin dahili gömme arama matrisine kıyasla daha fazla kontrol sahibi olmak istiyorsanız faydalıdır. - labels (
torch.LongTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Token sınıflandırma kaybını hesaplamak için etiketler. Endeksler[0, ..., config.num_labels - 1]aralığında olmalıdır.
Dönüş değeri
TokenClassifierOutput veya tuple(torch.FloatTensor)
TokenClassifierOutput veya torch.FloatTensor bir demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırmaya (EsmConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
EsmForTokenClassification forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
loss (
torch.FloatTensor, şekli(1,), isteğe bağlı,labelssağlandığında döndürülür) — Sınıflandırma kaybı.logits (
torch.FloatTensor, şekli(batch_size, sequence_length, config.num_labels)) — Sınıflandırma puanları (SoftMax öncesi).hidden_states (
tuple(torch.FloatTensor), isteğe bağlı,output_hidden_states=Truegeçirildiğinde veyaconfig.output_hidden_states=Trueolduğunda döndürülür) —torch.FloatTensor(modelin bir gömme katmanı varsa gömme katmanının çıktısı için bir tane + her katmanın çıktısı için birer tane) içeren,(batch_size, sequence_length, hidden_size)biçiminde bir demet.Her katmanın çıktısında modelin gizli durumları ve isteğe bağlı başlangıç gömme çıktıları.
attentions (
tuple(torch.FloatTensor), isteğe bağlı,output_attentions=Truegeçirildiğinde veyaconfig.output_attentions=Trueolduğunda döndürülür) —torch.FloatTensor(her katman için bir tane) içeren bir tuple, şekli(batch_size, num_heads, sequence_length, sequence_length).Dikkat softmax'ı sonrası dikkat ağırlıkları, öz-dikkat başlıklarında ağırlıklı ortalamanın hesaplanmasında kullanılır.
Örnek:
>>> from transformers import AutoTokenizer, EsmForTokenClassification
>>> import torch
>>> tokenizer = AutoTokenizer.from_pretrained("facebook/esm-1b")
>>> model = EsmForTokenClassification.from_pretrained("facebook/esm-1b")
>>> inputs = tokenizer(
... "HuggingFace is a company based in Paris and New York", add_special_tokens=False, return_tensors="pt"
... )
>>> with torch.no_grad():
... logits = model(**inputs).logits
>>> predicted_token_class_ids = logits.argmax(-1)
>>> # Note that tokens are classified rather then input words which means that
>>> # there might be more predicted token classes than words.
>>> # Multiple token classes might account for the same word
>>> predicted_tokens_classes = [model.config.id2label[t.item()] for t in predicted_token_class_ids[0]]
>>> predicted_tokens_classes
...
>>> labels = predicted_token_class_ids
>>> loss = model(**inputs, labels=labels).loss
>>> round(loss.item(), 2)
...EsmForProteinFolding
sınıf transformers.EsmForProteinFolding
< source >( config: EsmConfig )
Parametreler
- config (EsmConfig) — Modelin tüm parametrelerini içeren model yapılandırma sınıfı. Bir yapılandırma dosyasıyla başlatmak, modelle ilişkili ağırlıkları yüklemez, yalnızca yapılandırmayı yükler. Model ağırlıklarını yüklemek için from_pretrained() yöntemine bakın.
ESMForProteinFolding, orijinal ESMFold modelinin HuggingFace portudur. Bir ESM-2 “stem” (gövde) ile ardından gelen bir protein katlanma “head” (başlık) içermektedir; ancak diğer çoğu çıktı başlığından farklı olarak, bu “head”, modelin geri kalanının tamamıyla birleştirildiğinde benzer boyutta ve çalışma süresine sahiptir. Girdi protein(ler)i hakkında tahmini yapısal bilgiler içeren bir sözlük (dictionary) döndürür.
Bu model PreTrainedModel sınıfından devralır. Kütüphanenin tüm modelleri için uyguladığı genel yöntemler (indirme veya kaydetme, giriş gömme boyutlarını yeniden boyutlandırma, başları budama vb.) için üst sınıf belgelendirmesine bakın.
Bu model aynı zamanda bir PyTorch torch.nn.Module alt sınıfıdır. Bunu standart bir PyTorch Module olarak kullanın ve genel kullanım ve davranışla ilgili tüm konular için PyTorch dokümantasyonuna başvurun.
forward
< source >( input_ids: Tensorattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonemasking_pattern: typing.Optional[torch.Tensor] = Nonenum_recycles: int | None = Noneoutput_hidden_states: bool | None = False**kwargs ) → EsmForProteinFoldingOutput or tuple(torch.FloatTensor)
Parametreler
- input_ids (
torch.Tensorşeklinde(batch_size, sequence_length)) — Girdi dizisi belirteçlerinin sözlükteki indeksleri. Varsayılan olarak dolgu (padding) yok sayılır.Dizinler AutoTokenizer kullanılarak elde edilebilir. Ayrıntılar için PreTrainedTokenizer.encode() ve PreTrainedTokenizer.call() konularına bakın.
- attention_mask (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Doldurma (padding) token indekslerinde dikkat (attention) işlemi yapmaktan kaçınmak için kullanılan maske. Seçilen maske değerleri[0, 1]:- 1, maskelenmemiş jetonlar için,
- maskelenmiş jetonlar için 0.
- position_ids (
torch.Tensorşeklinde(batch_size, sequence_length), isteğe bağlı) — Girdi dizilerindeki her token'ın konum gömme (position embedding) içindeki konum indeksleri. Seçim aralığı[0, config.n_positions - 1]. - masking_pattern (
torch.LongTensor, şekli(batch_size, sequence_length), isteğe bağlı) — Eğitim sırasında düzenleme (regularization) yöntemi olarak maskelenmesi istenen token konumları. Mask değerleri[0, 1]aralığında seçilir. - num_recycles (
int, isteğe bağlı, varsayılanNone) — Girdi dizisinin kaç kez geri dönüştürüleceği.Noneise, varsayılan olarakconfig.num_recycleskullanılır. “Geri dönüştürme”, katlama gövdesinin (folding trunk) çıktısının, gövdeye tekrar girdi olarak verilmesinden oluşur. Eğitim sırasında, modelin her geri dönüştürme sonrası geçerli tahminler üretebileceğini öğrenmesini sağlamak için geri dönüştürme sayısı her batch ile değişmelidir. Çıkarım (inference) sırasında, num_recycles, modelin eğitimde kullanıldığı en yüksek değere ayarlanmalıdır; bu, en yüksek doğruluğu sağlar. Buna göre, bu değerNoneolarak ayarlandığında, config.max_recycles kullanılır. - output_hidden_states (
bool, isteğe bağlı, varsayılanFalse) — Tüm katmanların gizli durumlarının (hidden states) döndürülüp döndürülmeyeceğini belirtir. Daha fazla ayrıntı için döndürülen tensörler altındakihidden_statesbölümüne bakın.
Dönüş değeri
EsmForProteinFoldingOutput veya tuple(torch.FloatTensor)
EsmForProteinFoldingOutput veya torch.FloatTensor bir demeti (return_dict=False geçirildiğinde veya config.return_dict=False olduğunda), yapılandırma (EsmConfig) ve girdilere bağlı olarak çeşitli öğelerden oluşur.
EsmForProteinFolding forward metodu, __call__ özel metodunu geçersiz kılar.
İleri geçiş tarifi bu fonksiyon içinde tanımlanmalı olsa da, sonrasında bunun yerine
Moduleörneğini çağırmak gerekir; çünkü önceki, ön ve son işleme adımlarını çalıştırmaktan sorumluyken ikincisi bunları sessizce yok sayar.
- frames (
torch.FloatTensor, isteğe bağlı) — Çıktı kareleri. - sidechain_frames (
torch.FloatTensor, isteğe bağlı) — Çıktı yan zincir kareleri. - unnormalized_angles (
torch.FloatTensor, isteğe bağlı) — Tahmin edilen normalize edilmemiş omurga ve yan zincir torsiyon açıları. - angles (
torch.FloatTensor, opsiyonel) — Tahmin edilen omurga ve yan zincir torsiyon açıları. - positions (
torch.FloatTensor, opsiyonel) — Omurga ve yan zincir atomlarının tahmini konumları. - states (
torch.FloatTensor, opsiyonel) — Protein katlanma gövdesinden gelen gizli durumlar. - s_s (
torch.FloatTensor, isteğe bağlı) — ESM-2 LM gövdesinin her katmanının gizli durumlarını birleştirerek türetilen, kalıntı başına gömme değerleri. - s_z (
torch.FloatTensor, isteğe bağlı) — Çiftli kalıntı gömme değerleri. - distogram_logits (
torch.FloatTensor, isteğe bağlı) — Kalıntı mesafelerini hesaplamak için kullanılan distogram'a girdi olarak verilen logitler. - lm_logits (
torch.FloatTensor, isteğe bağlı) — ESM-2 protein dil modeli gövdesi tarafından üretilen logitler. - aatype (
torch.FloatTensor, isteğe bağlı) — Girdi amino asitleri (AlphaFold2 indeksleri). - atom14_atom_exists (
torch.FloatTensor, isteğe bağlı) — Her bir atomun atom14 temsilinde var olup olmadığını belirtir. - residx_atom14_to_atom37 (
torch.FloatTensor, isteğe bağlı) — atom14 ve atom37 temsillerindeki atomlar arasındaki eşleme. - residx_atom37_to_atom14 (
torch.FloatTensor, isteğe bağlı) — atom37 ve atom14 temsillerindeki atomlar arasındaki eşleme. - atom37_atom_exists (
torch.FloatTensor, opsiyonel) — Her bir atomun atom37 temsilinde var olup olmadığını belirtir. - residue_index (
torch.FloatTensor, opsiyonel) — Protein zincirindeki her bir rezidünün indeksi. İç dolgu (padding) token'ları kullanılmadığı sürece, bu, 0'dansequence_length'e kadar olan bir tamsayı dizisi olacaktır. - lddt_head (
torch.FloatTensor, isteğe bağlı) — plddt hesaplamak için kullanılan lddt başlığının ham çıktıları. - plddt (
torch.FloatTensor, opsiyonel) — Kalıntı başına güven puanları. Düşük güven bölgeleri, modelin tahmininin belirsiz olduğu veya protein yapısının düzensiz (disordered) olduğu alanları gösterebilir. - ptm_logits (
torch.FloatTensor, isteğe bağlı) — ptm hesaplamak için kullanılan ham logitler. - ptm (
torch.FloatTensor, isteğe bağlı) — Modelin genel yapıya ilişkin yüksek düzeydeki güvenini temsil eden TM-score çıktısı. - aligned_confidence_probs (
torch.FloatTensor, opsiyonel) — Hizalanmış yapı için kalıntı başına güven puanları. - predicted_aligned_error (
torch.FloatTensor, isteğe bağlı) — Modelin tahmini ile gerçek değer arasındaki beklenen hata. - max_predicted_aligned_error (
torch.FloatTensor, isteğe bağlı) — Örnek başına maksimum tahmin edilen hata.
Örnek:
>>> from transformers import AutoTokenizer, EsmForProteinFolding
>>> model = EsmForProteinFolding.from_pretrained("facebook/esmfold_v1")
>>> tokenizer = AutoTokenizer.from_pretrained("facebook/esmfold_v1")
>>> inputs = tokenizer(["MLKNVQVQLV"], return_tensors="pt", add_special_tokens=False) # A tiny random peptide
>>> outputs = model(**inputs)
>>> folded_positions = outputs.positions