Transformers documentation
Backbone
Backbone
Backbone, nesne tespiti ve görüntü sınıflandırma gibi üst düzey bilgisayarla görme görevleri için özellik çıkarımı kullanılan bir modeldir. Transformers, önceden eğitilmiş model ağırlıklarından bir Transformers backbone'ı başlatmak için AutoBackbone sınıfını ve iki yardımcı sınıfı sağlar:
- BackboneMixin, bir omurgayı Transformers veya timm üzerinden başlatmayı sağlar ve çıktı özelliklerini ile indeksleri döndürmek için işlevler içerir.
- BackboneConfigMixin, omurga yapılandırmasının çıktı özelliklerini ve dizinlerini ayarlar.
timm modelleri TimmBackbone ve TimmBackboneConfig sınıfları ile yüklenir.
Backbones, aşağıdaki modeller için desteklenmektedir:
- BEiT
- BiT
- ConvNext
- ConvNextV2
- DiNAT
- DINOV2
- FocalNet
- MaskFormer
- ResNet
- Swin Transformer
- Swin Transformer v2
- ViTDet
AutoBackbone
BackboneMixin
post_init metodunu geçersiz kılın ve yakalama kancalarını her zaman yükleyin, çünkü omurga her zaman çıktıları yakalayacaktır. Modüllerin zaten örneklenmiş olması gerektiği için bunu post_init içinde yapmamız gerekir.
Bu, torch.compile ile bazı karışıklıkları önler; çünkü ilk kanca yüklemesi bir grafik kırılmasına ihtiyaç duyacaktır/oluşturacaktır ve bu da model = torch.compile(model...) gibi harici kullanıcı çağrılarıyla çelişebilir.
BackboneConfigMixin
Omurga yapılandırması için out_features ve out_indices özniteliklerinin işlenmesini destekleyen bir Mixin.
set_output_features_output_indices
< source >( out_features: list | Noneout_indices: list | None )
Parametreler
- out_features (
list[str], isteğe bağlı) — Backbone'un çıktı olarak vereceği özelliklerin adları. Verilmezse varsayılan olarakconfig._out_featureskullanılır. - out_indices (
list[int]veyatuple[int], isteğe bağlı) — Omurganın (backbone) çıktı olarak vereceği özelliklerin (features) indeksleri. Verilmezse varsayılan olarakconfig._out_indiceskullanılır.
Çıktı indekslerini ve özelliklerini yeni değerlere ayarlar ve bunları verilen stage_names ile hizalar.
Girdilerden biri verilmediyse, verilen stage_names için ilgili out_features veya out_indices değerini bulur.
Bu örneği bir Python sözlüğüne serialize eder. out_features ve out_indices özniteliklerini dahil etmek için PreTrainedConfig'ten gelen varsayılan to_dict() metodunu geçersiz kılar.
Verilen stage_names için out_indices ve out_features'ın geçerli olduğunu doğrulayın.
TimmBackbone
Sırt kemikleri olarak kullanılacak timm modelleri için sarmalayıcı sınıf. Bu, kütüphanedeki diğer modellerle aynı API'yi koruyarak timm modellerinin değiştirilebilir şekilde kullanılmasını sağlar.
TimmBackboneConfig
sınıf transformers.TimmBackboneConfig
< 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 = Nonebackbone: str | None = Nonenum_channels: int = 3features_only: bool = True_out_indices: list[int] | None = Nonefreeze_batch_norm_2d: bool = Falseoutput_stride: int | None = None )
Parametreler
- backbone (
str, isteğe bağlı) — Yüklenmesi gereken timm kontrol noktası. - num_channels (
int, isteğe bağlı, varsayılan3) — Giriş kanal sayısı. - features_only (
bool, isteğe bağlı, varsayılanTrue) — Yalnızca özelliklerin mi yoksa logitlerin de mi çıktılacağını belirtir. - freeze_batch_norm_2d (
bool, isteğe bağlı, varsayılanFalse) — Verilen modülün tümBatchNorm2dveSyncBatchNormkatmanlarınıFrozenBatchNorm2dolarak dönüştürür. - output_stride (
int, isteğe bağlı) — Girdi ve çıktı özellik haritalarının uzamsal çözünürlüğü arasındaki oran.
Bu, bir TimmBackbone yapılandırmasını depolamak için kullanılan yapılandırma sınıfıdır. Belirtilen argümanlara göre bir Timm Backbone modelini örneklemek ve model mimarisini tanımlamak için kullanılır. Varsayılanlarla bir yapılandırma örneklendiğinde, yapılandırmasına 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.
Örnek:
>>> from transformers import TimmBackboneConfig, TimmBackbone
>>> # Initializing a timm backbone
>>> configuration = TimmBackboneConfig("resnet50")
>>> # Initializing a model from the configuration
>>> model = TimmBackbone(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config