Transformers documentation

Yapılandırma

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

and get access to the augmented documentation experience

to get started

Yapılandırma

Taban sınıf PreTrainedConfig, bir yapılandırmanın yerel bir dosya veya dizinden ya da kütüphanenin sağladığı önceden eğitilmiş bir model yapılandırmasından (HuggingFace’in AWS S3 deposundan indirilen) yüklenmesi/kaydedilmesi için ortak yöntemleri uygular.

Her türetilmiş yapılandırma sınıfı, modele özgü öznitelikleri uygular. Tüm yapılandırma sınıflarında bulunan ortak öznitelikler şunlardır: hidden_size, num_attention_heads ve num_hidden_layers. Metin modelleri ayrıca şunu uygular: vocab_size.

PreTrainedConfig

sınıf transformers.PreTrainedConfig

< >

( 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 = None )

Parametreler

  • name_or_path (str, isteğe bağlı, varsayılan "") — Yapılandırma bu tür bir yöntemle oluşturulduysa, PreTrainedModel.from_pretrained()'e geçirilen dizeyi pretrained_model_name_or_path olarak saklar.
  • output_hidden_states (bool, isteğe bağlı, varsayılan False) — Modelin tüm gizli durumları (hidden-states) döndürüp döndürmeyeceği.
  • output_attentions (bool, isteğe bağlı, varsayılan False) — Modelin tüm dikkatleri (attentions) döndürüp döndürmeyeceği.
  • return_dict (bool, isteğe bağlı, varsayılan True) — Modelin düz bir tuple yerine ModelOutput döndürüp döndürmeyeceği.
  • is_encoder_decoder (bool, isteğe bağlı, varsayılan False) — Modelin bir kodlayıcı/çözücü olarak kullanılıp kullanılmadığı.
  • chunk_size_feed_forward (int, isteğe bağlı, varsayılan 0) — Artımsal dikkat bloklarındaki tüm ileri besleme katmanlarının parça boyutu. 0 parça boyutu, ileri besleme katmanının parçalanmadığı anlamına gelir. n parça boyutu, ileri besleme katmanının n < sequence_length gömme değerini bir seferde işlediği anlamına gelir. İleri besleme parçalama hakkında daha fazla bilgi için Feed Forward Chunking nasıl çalışır? bölümüne bakın.
  • per_layer_config (dict[int | str, dict[str, Any]], isteğe bağlı) — Katman indekslerinden yapılandırma öznitelik geçersiz kılma değerlerine seyrek bir eşleme. Her anahtar bir katman indeksidir ve her değer, o katman için küresel yapılandırmadan farklı olan öznitelikleri içerir.
  • tie_last_hidden_states (bool, isteğe bağlı) — hidden_states[-1]'in son norm öncesi gizli durum yerine son norm sonrası last_hidden_state olması gerekip gerekmediğini belirtir. Ayarlanmazsa, modelin yerleşik varsayılanı kullanılır.

İnce ayar görevleri için parametreler

  • architectures (list[str], isteğe bağlı) — Modelin önceden eğitilmiş ağırlıklarıyla kullanılabilen model mimarileri.
  • id2label (dict[int, str], isteğe bağlı) — Dizin (örneğin tahmin dizini veya hedef dizini) ile etiket arasındaki eşleme.
  • label2id (dict[str, int], isteğe bağlı) — Model için etiketten indekse giden bir eşleme.
  • num_labels (int, isteğe bağlı) — Modelin sonuna eklenen katmanda kullanılacak etiket sayısı, genellikle bir sınıflandırma görevi için.
  • problem_type (str, isteğe bağlı) — XxxForSequenceClassification modelleri için problem türü. "regression", "single_label_classification" veya "multi_label_classification" değerlerinden biri olabilir.

PyTorch'a özgü parametreler

  • dtype (str, isteğe bağlı) — Ağırlıkların dtype değeri. Bu öznitelik, modeli varsayılan olmayan bir dtype ile (genellikle float32 olan) başlatmak ve böylece optimal depolama tahsisi sağlamak için kullanılabilir. Örneğin, kaydedilen model float16 ise, float16 ağırlıklarını yüklemek için gereken minimum bellek miktarını kullanarak geri yüklemek idealdir.

Tüm yapılandırma sınıfları için temel sınıf. Tüm modellerin yapılandırmalarına ortak olan birkaç parametrenin yanı sıra yapılandırmaları yükleme/indirme/kaydetme yöntemlerini de işler.

Bir yapılandırma dosyası yüklenebilir ve diske kaydedilebilir. Yapılandırma dosyasını yüklemek ve bu dosyayı bir modeli başlatmak için kullanmak, model ağırlıklarını yüklemez. Bu işlem yalnızca modelin yapılandırmasını etkiler.

Sınıf özellikleri (türetilen sınıflar tarafından geçersiz kılınır):

  • model_type (str) — Model türü için bir tanımlayıcıdır; JSON dosyasına serileştirilir ve AutoConfig içinde doğru nesnenin yeniden oluşturulmasında kullanılır.
  • attribute_map (dict[str, str]) — Model spesifik öznitelik adlarını, özniteliklerin standartlaştırılmış adlandırmasına eşleyen bir sözlük.
  • base_model_tp_plan (dict[str, Any]) — model.tensor_parallel çağrıldığında alt modüle uygulanan tensör paralel planını, temel modelin alt modül FQN'lerine eşleyen bir sözlük.
  • base_model_fsdp_plan (dict[Any, str]) — Bir taban modelin alt modüllerini bir FSDP2 parçalama stratejisine (ör. "free_full_weight" / "keep_full_weight") eşleyen bir sözlük. Anahtarlar, joker modül yolları (ör. "layers.*") veya yolların bir demeti (tek bir fully_shard çağrısında gruplanır) olabilir.
  • base_model_pp_plan (dict[str, tuple[list[str]]]) — Temel modelin alt modüllerini, kullanıcıların alt modülü uygun cihaza yerleştirmesini sağlayan bir pipeline paralel planına eşleyen bir sözlük.

Ortak özellikler (tüm alt sınıflarda mevcut):

  • vocab_size (int) — Sözlükteki token sayısı, bu aynı zamanda gömme matrisinin ilk boyutudur (ViT gibi bir metin modalitesi olmayan modellerde bu öznitelik eksik olabilir).
  • hidden_size (int) — Modelin gizli boyutu.
  • num_attention_heads (int) — Modelin çok başlı dikkat katmanlarında kullanılan dikkat başlarının sayısı.
  • num_hidden_layers (int) — Modeldeki blok sayısı.

Model yapılandırmasında dizi üretimi için parametre ayarlamak artık kullanımdan kaldırılmıştır. Geriye dönük uyumluluk için bunların bir kısmını yüklemeye devam edilebilir, ancak bunları üzerine yazmaya çalışmak bir istisna fırlatır — bunları bir [~transformers.GenerationConfig] içinde ayarlamanız gerekir. Bireysel parametreler hakkında daha fazla bilgi için [~transformers.GenerationConfig] belgesini kontrol edin.

push_to_hub

< >

( repo_id: strcommit_message: str | None = Nonecommit_description: str | None = Noneprivate: bool | None = Nonetoken: bool | str | None = Nonerevision: str | None = Nonecreate_pr: bool = Falsemax_shard_size: int | str | None = '50GB'tags: list[str] | None = None )

Parametreler

  • repo_id (str) — Yapılandırmanızı göndermek istediğiniz depoyun adı. Belirli bir organizasyona gönderirken organizasyon adınızı içermelidir.
  • commit_message (str, isteğe bağlı) — İterken iletilecek mesaj. Varsayılan olarak "Upload config" olur.
  • commit_description (str, isteğe bağlı) — Oluşturulacak commit'in açıklaması
  • private (bool, isteğe bağlı) — Deponun özel yapılıp yapılmayacağı. None (varsayılan) ise, organizasyonun varsayılanı özel değilse depo herkese açık olur. Depo zaten mevcutsa bu değer yok sayılır.
  • token (bool veya str, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True (varsayılan) ise, hf auth login çalıştırıldığında oluşturulan jeton ( ~/.huggingface içinde saklanır) kullanılır.
  • revision (str, isteğe bağlı) — Yüklenen dosyaların itileceği dal.
  • create_pr (bool, isteğe bağlı, varsayılan False) — Yüklenen dosyalarla bir PR oluşturulup oluşturulmayacağı veya doğrudan commit atılıp atılmayacağı.
  • max_shard_size (int veya str, isteğe bağlı, varsayılan "50GB") — Yalnızca modeller için geçerlidir. Bir kontrol noktasının parçalanmadan önceki maksimum boyutu. Parçalanan kontrol noktalarının her biri bu boyuttan küçük olacaktır. Bir dize olarak ifade ediliyorsa, birimden (ör. "5MB") önce rakamlar içermelidir.
  • tags (list[str], isteğe bağlı) — Hub'a itilecek etiketlerin listesi.

Yapılandırma dosyasını 🤗 Model Hub'a yükleyin.

Örnekler:

from transformers import AutoConfig

config = AutoConfig.from_pretrained("google-bert/bert-base-cased")

# Push the config to your namespace with the name "my-finetuned-bert".
config.push_to_hub("my-finetuned-bert")

# Push the config to an organization with the name "my-finetuned-bert".
config.push_to_hub("huggingface/my-finetuned-bert")

default_config_fields

< >

( )

Bir dataclass'ta işaretlenmiş her alan için varsayılan değerleri alır, diff-dict'i kaydetmek için kullanılır. Özel __init__ ile v4'te oluşturulan yapılandırmalar için boş bir dict döndürür, böylece self.__dict__ içindeki tüm anahtarlar kaydedilir. Daha yeni yapılandırmalar için, __post_init__ içinde değil de alanlar olarak varsayılanları beyan edilen anahtarları döndürür; bu da seri hale getirilmiş json dosyasından yalnızca bu belirli alanları filtreler.

dict_dtype_to_str

< >

( d: dict[str, Any] )

Geçirilen sözlüğün ve iç içe geçmiş sözlüklerinin bir dtype anahtarı olup olmadığını ve bu anahtarın None olmadığını kontrol eder; bu durumda torch.dtype değerini yalnızca türü içeren bir dizeye dönüştürür. Örneğin, torch.float32 değeri “float32” dizesine dönüştürülür ve bu değer daha sonra json biçiminde saklanabilir.

from_dict

< >

( config_dict: dict[str, Any]**kwargs ) → PreTrainedConfig

Parametreler

  • config_dict (dict[str, Any]) — Yapılandırma nesnesini oluşturmak için kullanılacak sözlük. Böyle bir sözlük, get_config_dict() yöntemi kullanılarak önceden eğitilmiş bir kontrol noktasından alınabilir.
  • kwargs (dict[str, Any]) — Yapılandırma nesnesini başlatmak için kullanılacak ek parametreler.

Dönüş değeri

PreTrainedConfig

Bu parametrelerden örneklenen yapılandırma nesnesi.

Parametrelerin Python sözlüğünden bir PreTrainedConfig örneği oluşturur.

from_json_file

< >

( json_file: str | os.PathLike ) → PreTrainedConfig

Parametreler

  • json_file (str veya os.PathLike) — Parametreleri içeren JSON dosyasının yolu.

Dönüş değeri

PreTrainedConfig

O JSON dosyasından örneklenen yapılandırma nesnesi.

Parametrelerin JSON dosyasının yolundan bir PreTrainedConfig örneği oluşturur.

from_pretrained

< >

( pretrained_model_name_or_path: str | os.PathLikecache_dir: str | os.PathLike | None = Noneforce_download: bool = Falselocal_files_only: bool = Falsetoken: str | bool | None = Nonerevision: str = 'main'**kwargs ) → PreTrainedConfig

Parametreler

  • pretrained_model_name_or_path (str veya os.PathLike) — Bunlardan biri olabilir:
    • bir dize, huggingface.co'daki bir model deposunda barındırılan önceden eğitilmiş bir model yapılandırmasının model kimliği.
    • save_pretrained() yöntemi kullanılarak bir yapılandırma dosyası kaydedilen bir dizinin yolunu, örneğin ./my_model_directory/.
    • kaydedilmiş bir yapılandırma JSON dosyasına giden bir yol, örneğin ./my_model_directory/configuration.json.
  • cache_dir (str veya os.PathLike, isteğe bağlı) — Standart önbellek kullanılmayacaksa, indirilen önceden eğitilmiş model yapılandırmasının önbelleğe alınacağı dizinin yolu.
  • force_download (bool, isteğe bağlı, varsayılan False) — Yapılandırma dosyalarının (yeniden) indirilmesini zorlayıp mevcut ise önbellekteki sürümlerin üzerine yazılmasını belirtir.
  • proxies (dict[str, str], isteğe bağlı) — Protokole veya uç noktaya göre kullanılacak vekil sunucuların sözlüğü, örn. {'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}. Vekiller her istekte kullanılır.
  • token (str veya bool, isteğe bağlı) — Uzak dosyalar için HTTP bearer yetkilendirmesi olarak kullanılacak jeton. True ise veya belirtilmezse, hf auth login çalıştırıldığında oluşturulan jeton ( ~/.huggingface içinde saklanır) kullanılır.
  • revision (str, isteğe bağlı, varsayılan olarak "main") — Kullanılacak belirli model sürümü. huggingface.co üzerinde modelleri ve diğer artefaktları depolamak için git tabanlı bir sistem kullandığımız için bir dal adı, etiket adı veya commit kimliği olabilir, bu nedenle revision git tarafından izin verilen herhangi bir tanımlayıcı olabilir.

    Hub'da oluşturduğunuz bir çekme isteğini test etmek için revision="refs/pr/<pr_number>" parametresini iletebilirsiniz.

  • return_unused_kwargs (bool, isteğe bağlı, varsayılan olarak False) — eğer False, ise bu fonksiyon yalnızca son yapılandırma nesnesini döndürür.

    True ise, bu fonksiyon unused_kwargs'nın yapılandırma öznitelikleri olmayan anahtar/değer çiftlerinden oluşan bir sözlük olduğu Tuple(config, unused_kwargs) döndürür; yani kwargs'nın config'yi güncellemek için kullanılmamış ve aksi halde yok sayılan kısmıdır.

  • subfolder (str, isteğe bağlı, varsayılan "") — İlgili dosyalar huggingface.co üzerindeki model deposunun bir alt klasöründe konumlanıyorsa, klasör adını burada belirleyebilirsiniz.
  • kwargs (dict[str, Any], isteğe bağlı) — kwargs içindeki yapılandırma öznitelikleri olan anahtarların değerleri, yüklenen değerlerin üzerine yazmak için kullanılır. Anahtarı yapılandırma özniteliği olmayan anahtar/değer çiftleriyle ilgili davranış, return_unused_kwargs anahtar parametresi tarafından kontrol edilir.

Dönüş değeri

PreTrainedConfig

Bu önceden eğitilmiş modelden örneklenen yapılandırma nesnesi.

Önceden eğitilmiş bir model yapılandırmasından PreTrainedConfig (veya türetilmiş bir sınıf) örneği oluşturun.

Örnekler:

# We can't instantiate directly the base class *PreTrainedConfig* so let's show the examples on a
# derived class: BertConfig
config = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased"
)  # Download configuration from huggingface.co and cache.
config = BertConfig.from_pretrained(
    "./test/saved_model/"
)  # E.g. config (or model) was saved using *save_pretrained('./test/saved_model/')*
config = BertConfig.from_pretrained("./test/saved_model/my_configuration.json")
config = BertConfig.from_pretrained("google-bert/bert-base-uncased", output_attentions=True, foo=False)
assert config.output_attentions == True
config, unused_kwargs = BertConfig.from_pretrained(
    "google-bert/bert-base-uncased", output_attentions=True, foo=False, return_unused_kwargs=True
)
assert config.output_attentions == True
assert unused_kwargs == {"foo": False}

get_config_dict

< >

( pretrained_model_name_or_path: str | os.PathLike**kwargs ) → tuple[Dict, Dict]

Parametreler

  • pretrained_model_name_or_path (str veya os.PathLike) — Parametre sözlüğünü almak istediğimiz önceden eğitilmiş kontrol noktasının tanımlayıcısı.

Dönüş değeri

tuple[Dict, Dict]

Yapılandırma nesnesini örneklemek için kullanılacak sözlük(ler).

pretrained_model_name_or_path'den, from_dict kullanılarak bir PreTrainedConfig örneği oluşturmak için kullanılacak parametre sözlüğüne çözümlenir.

get_mtp_config

< >

( )

MTP modelini oluşturmak için kullanılacak mtp metin yapılandırmasını döndürür. MTP katmanları, ana modelle aynı sınıfların örneklenmesiyle oluşturulduğundan, doğru mtp katmanlarını oluşturmak ve katmanlarda indeksleme sorunlarını önlemek için yapılandırmanın indeks-özel özelliklerini, örneğin layer_types veya mtp_layer_types gibi, geçersiz kılmamız gerekir (çünkü MTP katmanları katman indekslemesini 0'dan yeniden başlatır).

get_text_config

< >

( decoder = Noneencoder = None )

Parametreler

  • decoder (Optional[bool], isteğe bağlı) — True olarak ayarlanırsa, yalnızca decoder yapılandırma adları aranır.
  • encoder (Optional[bool], isteğe bağlı) — True olarak ayarlanırsa, yalnızca encoder yapılandırma adları aranır.

Modelin metin girişi (kodlayıcı) veya metin çıktısı (çözücü) ile ilgili metin yapılandırmasını döndürür. decoder ve encoder girdi argümanları, ilgilendiğimiz model ucunu belirtmek için kullanılabilir; bu, hem metin girdisi hem de metin çıktısı modalları olan modellerde faydalıdır.

Bu yöntemin kullanılmasının üç olası sonucu vardır:

  1. Çoğu modelde, kendisi olan orijinal yapılandırma örneğini döndürür.
  2. Daha yeni (2024+) bileşik modellerde, geçerli adların altında yerleşik olan config'in metin bölümünü döndürür.
  3. Daha eski (2023-) bileşik modellerde, encoder=True olduğunda yalnızca decoder parametrelerini, aksi halde yalnızca encoder parametrelerini atar.

is_custom_code

< >

( )

Mevcut yapılandırmanın özel kod olup olmadığını döndürür; yani hub'dan yüklenen kod veya herhangi bir kullanıcıya özel modül/oturumda tanımlanan kod.

is_remote_code

< >

( )

Mevcut yapılandırmanın özel kod olup olmadığını, yani hub'dan yüklenen kod veya register_for_auto_class ile kaydettiğimiz sınıf olup olmadığını döndürür.

register_for_auto_class

< >

( auto_class = 'AutoConfig' )

Parametreler

  • auto_class (str veya type, isteğe bağlı, varsayılan "AutoConfig") — Bu yeni yapılandırmanın kaydedileceği otomatik sınıf.

Bu sınıfı, verilen bir otomatik sınıf ile kaydedin. Bu, yalnızca özel yapılandırmalar için kullanılmalıdır, çünkü kütüphanedekiler zaten AutoConfig ile eşlenmiştir.

save_pretrained

< >

( save_directory: str | os.PathLikepush_to_hub: bool = False**kwargs )

Parametreler

  • save_directory (str veya os.PathLike) — Yapılandırma JSON dosyasının kaydedileceği dizin (varsa oluşturulur).
  • push_to_hub (bool, isteğe bağlı, varsayılan False) — Modelinizi kaydettikten sonra Hugging Face model hub'ına gönderip göndermeyeceğinizi belirtir. Göndermek istediğiniz depoyu repo_id ile belirtebilirsiniz (varsayılan olarak ad alanınızdaki save_directory adını kullanır).
  • kwargs (dict[str, Any], isteğe bağlı) — push_to_hub() yöntemine iletilen ek anahtar kelime argümanları.

Bir yapılandırma nesnesini, from_pretrained() sınıf yöntemiyle yeniden yüklenebilmesi için save_directory dizinine kaydedin.

to_dict

< >

( ) → dict[str, Any]

Dönüş değeri

dict[str, Any]

Bu yapılandırma örneğini oluşturan tüm özniteliklerin sözlüğü.

Bu örneği bir Python sözlüğüne serialize eder.

to_diff_dict

< >

( ) → dict[str, Any]

Dönüş değeri

dict[str, Any]

Bu yapılandırma örneğini oluşturan tüm özniteliklerin sözlüğü.

Daha iyi okunabilirlik için, varsayılan yapılandırma özniteliklerine karşılık gelen tüm öznitelikleri yapılandırmadan kaldırır; ancak sınıfın config özniteliğini her zaman korur. Bir Python sözlüğüne serileştirir.

to_json_file

< >

( json_file_path: str | os.PathLikeuse_diff: bool = True )

Parametreler

  • json_file_path (str veya os.PathLike) — Bu yapılandırma örneğinin parametrelerinin kaydedileceği JSON dosyasının yolu.
  • use_diff (bool, isteğe bağlı, varsayılan True) — True olarak ayarlanırsa, yapılandırma örneği ile varsayılan PreTrainedConfig() arasındaki fark JSON dosyasına serialize edilir.

Bu örneği bir JSON dosyasına kaydedin.

to_json_string

< >

( use_diff: bool = True ) → str

Parametreler

  • use_diff (bool, isteğe bağlı, varsayılan True) — True olarak ayarlanırsa, yapılandırma örneği ile varsayılan PreTrainedConfig() arasındaki fark JSON dizgesine serileştirilir.

Dönüş değeri

str

Bu yapılandırma örneğini oluşturan tüm öznitelikleri JSON biçiminde içeren dize.

Bu örneği bir JSON dizgesine serialize eder.

güncelle

< >

( config_dict: dict[str, Any] )

Parametreler

  • config_dict (dict[str, Any]) — Bu sınıf için güncellenmesi gereken özniteliklerin sözlüğü.

Bu sınıfın özniteliklerini config_dict içindeki özniteliklerle günceller.

update_from_string

< >

( update_str: str )

Parametreler

  • update_str (str) — Bu sınıf için güncellenecek özniteliklere sahip dize.

Bu sınıfın özniteliklerini update_str içindeki özniteliklerle günceller.

Beklenen biçim, tamsayılar, ondalık sayılar ve dizgelerin olduğu gibi kullanılmasıdır; boole değerleri için ise true veya false kullanılır. Örneğin: “n_embd=10,resid_pdrop=0.2,scale_attn_weights=false,summary_type=cls_index”

Değiştirilecek anahtarlar, yapılandırma nesnesinde zaten var olmalıdır.

doğrula

< >

( )

Örnekte sınıf doğrulayıcılarını çalıştırın.

validate_architecture

< >

( )

@strict destekli doğrulamanın bir parçasıdır. Yapılandırmanın mimarisini doğrular.

validate_layer_type

< >

( )

mlp_layer_types ve layer_types'in doğru şekilde tanımlandığından emin olun.

validate_token_ids

< >

( )

@strict destekli doğrulamanın bir parçasıdır. Özel jetonların içeriğini doğrular.

Update on GitHub