Transformers documentation
Backbone
Backbone
Backbone adalah model yang digunakan untuk ekstraksi fitur untuk tugas computer vision tingkat tinggi seperti deteksi objek dan klasifikasi gambar. Transformers menyediakan kelas AutoBackbone untuk menginisialisasi backbone Transformers dari bobot model pretrained, serta dua kelas utilitas:
- BackboneMixin memungkinkan inisialisasi backbone dari Transformers atau timm dan mencakup fungsi untuk mengembalikan fitur output dan indeks.
- BackboneConfigMixin mengatur fitur dan indeks keluaran dari konfigurasi backbone.
Model timm dimuat dengan kelas TimmBackbone dan TimmBackboneConfig.
Backbones didukung untuk model-model berikut:
- BEiT
- BiT
- ConvNext
- ConvNextV2
- DiNAT
- DINOV2
- FocalNet
- MaskFormer
- ResNet
- Swin Transformer
- Swin Transformer v2
- ViTDet
AutoBackbone
BackboneMixin
Override post_init untuk selalu memasang hook penangkapan, karena backbone akan SELALU menangkap output. Kami perlu melakukannya di post_init, karena modul harus sudah diinstansiasi.
Hal ini menghindari beberapa kebingungan dengan torch.compile, karena pemasangan hook pertama akan membutuhkan/menciptakan graph break,
yang dapat bertentangan dengan panggilan eksternal pengguna seperti model = torch.compile(model...).
BackboneConfigMixin
Mixin untuk mendukung penanganan atribut out_features dan out_indices untuk konfigurasi backbone.
set_output_features_output_indices
< source >( out_features: list | Noneout_indices: list | None )
Parameter
- out_features (
list[str], opsional) — Nama-nama fitur yang akan dioutput oleh backbone. Secara default menggunakanconfig._out_featuresjika tidak diberikan. - out_indices (
list[int]atautuple[int], opsional) — Indeks fitur yang akan dioutput oleh backbone. Secara default menggunakanconfig._out_indicesjika tidak diberikan.
Mengatur indeks dan fitur output ke nilai baru dan menyelaraskannya dengan stage_names yang diberikan.
Jika salah satu input tidak diberikan, cari out_features atau out_indices yang sesuai untuk stage_names yang diberikan.
Menserialisasi instance ini ke dalam kamus Python. Menimpa to_dict() bawaan dari PreTrainedConfig untuk
mencakup atribut out_features dan out_indices.
Verifikasi bahwa out_indices dan out_features valid untuk stage_names yang diberikan.
TimmBackbone
Kelas pembungkus untuk model timm yang digunakan sebagai tulang punggung. Hal ini memungkinkan penggunaan model timm secara bergantian dengan model lain di pustaka ini sambil mempertahankan API yang sama.
TimmBackboneConfig
kelas 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 )
Parameter
- backbone (
str, opsional) — Checkpoint timm yang akan dimuat. - num_channels (
int, opsional, defaultnya3) — Jumlah saluran input. - features_only (
bool, opsional, defaultnyaTrue) — Apakah hanya mengoutputkan fitur atau juga logits. - freeze_batch_norm_2d (
bool, opsional, defaultFalse) — Mengonversi semua lapisanBatchNorm2ddanSyncBatchNormdari modul yang diberikan menjadiFrozenBatchNorm2d. - output_stride (
int, opsional) — Rasio antara resolusi spasial dari peta fitur input dan output.
Ini adalah kelas konfigurasi untuk menyimpan konfigurasi dari TimmBackbone. Kelas ini digunakan untuk membuat model Timm Backbone sesuai dengan argumen yang ditentukan, yang mendefinisikan arsitektur model. Membuat konfigurasi dengan nilai bawaan akan menghasilkan konfigurasi yang serupa dengan konfigurasi dari
Objek konfigurasi mewarisi dari PreTrainedConfig dan dapat digunakan untuk mengontrol output model. Baca dokumentasi dari PreTrainedConfig untuk informasi lebih lanjut.
Contoh:
>>> 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