timm documentation
Model
Model
Halaman ini berisi dokumentasi referensi API untuk membuat dan menemukan model timm, konfigurasi pretrained mereka, serta helper checkpoint / Hub, dan ringkasan antarmuka yang dibagikan oleh model timm. Arsitektur individual dibahas dalam ringkasan model dan halaman per model.
Penggunaan
Model dibuat berdasarkan nama dengan create_model. Nama tersebut memilih arsitektur yang terdaftar di timm, secara opsional dengan tag pretrained setelah . (resnet50.a1_in1k), atau model di Hugging Face Hub atau di folder lokal melalui prefiks sumber. Argumen kata kunci yang tidak digunakan sendiri oleh create_model diteruskan ke fungsi entrypoint model menuju konstruktor kelas model, sehingga argumen spesifik model apa pun dapat diatur.
import torch
import timm
# Random init (pretrained=False is the default). The tag selects the pretrained cfg, and the weights loaded with
# pretrained=True. Without a tag the architecture's default tag is used.
model = timm.create_model('vit_tiny_patch16_224.augreg_in21k_ft_in1k')
print(model.pretrained_cfg['mean'], model.pretrained_cfg['crop_pct']) # (0.5, 0.5, 0.5) 0.9
# Model arguments pass through to the model class, a 10 class head, single channel input and regularization.
model = timm.create_model('resnet50', num_classes=10, in_chans=1, drop_rate=0.2, drop_path_rate=0.05)
# Discover models, filters are fnmatch wildcards.
timm.list_models('convnext*') # architecture names
timm.list_pretrained('resnet50.*') # architecture.tag names w/ pretrained weights
timm.list_models(module='vision_transformer', pretrained=True)
# Image preprocessing to match the model's pretrained cfg (input size, interpolation, crop, mean / std).
model = timm.create_model('vit_tiny_patch16_224.augreg_in21k_ft_in1k')
data_config = timm.data.resolve_model_data_config(model)
transform = timm.data.create_transform(**data_config, is_training=False)
x = torch.randn(2, 3, 224, 224)
features = model.forward_features(x) # unpooled features, (2, 197, 192)
pre_logits = model.forward_head(features, pre_logits=True) # pooled features, (2, 192)
logits = model.forward_head(features) # same as model(x), (2, 1000)
model.reset_classifier(5) # replace the classifier w/ a new 5 class one
model.set_input_size(img_size=(384, 384)) # resample the position embedding for a new resolution
logits = model(torch.randn(2, 3, 384, 384)) # (2, 5)Skrip pelatihan (train.py) mengekspos argumen umum melalui flag berikut:
--modelmemilih model.--pretrainedmemuat bobot terlatih sebelumnya.--num-classesmengatur ukuran klasifikator (num_classes).--in-chansmengatur saluran input (in_chans).--gpmengatur jenis pooling global (global_pool).--dropmengatur dropout klasifikator (drop_rate).--drop-pathmengatur stochastic depth (drop_path_rate).--pretrained-pathmemuat bobot terlatih dari file lokal dengan adaptasi klasifikator / konvolusi input (pretrained_cfg_overlay=dict(file=...)).--initial-checkpointmemuat checkpoint setelah model dibuat, tanpa adaptasi (checkpoint_path).--model-kwargs key=value ...meneruskan argumen model lainnya.
Lihat quickstart untuk pengantar.
Nama model
| Nama | Sumber |
|---|---|
resnet50 | Arsitektur di registry timm, dengan cfg pretrained default-nya (di sini a1_in1k) |
resnet50.a1_in1k | Tag arsitektur + pretrained, tag yang tidak dikenal akan memicu error |
hf-hub:timm/resnet50.a1_in1k | Repo Hugging Face Hub, arsitektur, cfg pretrained, dan argumen model berasal dari config.json-nya, @revision memilih revisi |
local-dir:/path/to/folder | Folder lokal dengan config.json dan bobot, seperti yang ditulis oleh save_for_hf |
Hub dan sumber lokal membaca konfigurasi bahkan dengan pretrained=False, bobot hanya dimuat dengan pretrained=True.
Nama tanpa prefiks sumber yang mengandung /, \ atau : akan memicu ValueError alih-alih kembali ke model registry dengan nama yang sama. hf_hub: adalah alias yang tidak didukung lagi dari hf-hub:.
Argumen umum
pretrainedmemuat bobot dari cfg pretrained, daristate_dictataufilejika diset, jika tidak dari Hub (hf_hub_id) ketikahuggingface_hubterpasang, atau dariurl. Adaptasi classifier / input conv di bawah memungkinkan model pretrained dibuat untuk fine-tuning dalam satu panggilan.num_classesmengatur ukuran klasifikator,0menghapus klasifikator. Nilai default berasal dari cfg pretrained. Saat memuat bobot pretrained, jumlah kelas yang berbeda akan membuang bobot klasifikator (dibiarkan pada inisialisasi acak).global_poolmengatur jenis pooling, opsinya spesifik untuk model (misalnyaavg,max,avgmax,catavgmaxuntuk sebagian besar convnet,token,avg,mapuntuk ViT),''menonaktifkan pooling.in_chansmengatur jumlah channel input. Nilai default berasal dari cfg pretrained. Saat memuat bobot pretrained, bobot conv pertama akan disesuaikan (jika didukung) jika nilai ini berbeda dari jumlah channel pada checkpoint sumber (input_size[0]dalam cfg pretrained).drop_ratemengatur dropout pada klasifikator, didukung oleh sebagian besar model.drop_path_ratemengatur stochastic depth, yang didukung oleh sebagian besar model.img_sizeadalah argumen dari model gaya ViT dan model lain dengan ukuran input tetap; model-model ini dibangun untuk cfg pra-terlatihinput_sizekecuali jika disetel.dynamic_img_size=Truepada keluarga ViT dan EVA melakukan resampling posisi embedding ke ukuran input pada setiap forward pass.features_only(denganout_indices,output_stride,feature_cls) membungkus model sebagai feature backbone yang mengembalikan feature maps, lihat feature extraction.pretrained_cfgmenggantikan cfg pretrained (sebuah tag, dict, atauPretrainedCfg).pretrained_cfg_overlaymenimpa beberapa field-nya, misalnyapretrained_cfg_overlay=dict(file='weights.pth')memuat bobotpretrained=Truedari file lokal, dengan adaptasi klasifikator / konvolusi input di atas (seperti yang dilakukan--pretrained-pathditrain.py).checkpoint_pathmemuat checkpoint denganload_checkpointsetelah model dibuat. Ini adalah pemuatan ketat tanpa adaptasi, dan bobot EMA digunakan jika checkpoint memilikinya.cache_dirmenimpa cache unduhan untuk bobot pretrained dan konfigurasi Hub.devicediteruskan ke kelas model, parameter dibuat langsung pada perangkat tersebut.device='meta'membuat model tanpa mengalokasikan memori untuk bobotnya.dtypediteruskan ke kelas model, dan parameter dibuat langsung dalam dtype tersebut.scriptablemengatur bendera konfigurasi lapisan untuk scripting TorchScript.exportablemengatur bendera konfigurasi lapisan untuk ekspor / pelacakan.no_jitmengatur flag konfigurasi layer untuk menonaktifkan layer yang di-jit script.
Argumen yang diset ke None akan dibuang sebelum mencapai model, sehingga nilai bawaan model yang berlaku. Argumen yang tidak diterima oleh kelas model akan memicu TypeError pada sebagian besar model, sementara beberapa model mengabaikan argumen yang tidak dikenal.
Konfigurasi pralatih
Arsitektur memiliki satu atau lebih cfg pretrained, satu per tag, yang terdaftar dengan model. Sebuah cfg menjelaskan bobot (lokasi, lisensi, asal) dan bagaimana model dilatih serta harus dievaluasi dengan bobot tersebut. Model yang dibuat oleh create_model memiliki cfg-nya sebagai dict di model.pretrained_cfg (model.default_cfg adalah alias), sedangkan versi registry dikembalikan sebagai instance PretrainedCfg oleh get_pretrained_cfg.
| Bidang | Deskripsi |
|---|---|
architecture, tag | Arsitektur model dan tag pra-terlatih |
hf_hub_id, url, file, state_dict | Sumber bobot (lihat pretrained di atas) |
input_size, test_input_size, fixed_input_size | Ukuran input untuk pelatihan (dan evaluasi default), ukuran evaluasi yang digunakan dengan use_test_size=True (jika berbeda), dan apakah model memiliki ukuran input tetap (argumen img_size) |
interpolation, crop_pct, test_crop_pct, crop_mode | Interpolasi resize untuk evaluasi, fraksi crop (dengan mode crop center bawaan, gambar di-resize menjadi input_size / crop_pct, lalu di-crop di tengah) dan mode crop |
mean, std | Normalisasi input |
num_classes, label_names, label_descriptions | Ukuran dan label klasifikator (jika diketahui) |
classifier, first_conv | Nama modul dari klasifikator dan conv pertama, digunakan untuk menyesuaikan bobot saat dimuat |
license, origin_url, paper_ids, paper_name, notes | Meta-data bobot |
Bidang input adalah apa yang resolve_data_config / resolve_model_data_config selesaikan menjadi konfigurasi data untuk dataset, transformasi, dan loader. cfg menggambarkan checkpoint sumber dan tidak diperbarui ketika model dibuat atau dimodifikasi secara berbeda (num_classes, in_chans, img_size, set_input_size()). Saluran input, ukuran, dan batasan ukuran tetap saat ini dari model dilacak secara terpisah: get_model_input_config mengembalikannya, dan resolve_input_data_config menyelesaikan konfigurasi data terhadapnya (seperti yang dilakukan oleh skrip pelatihan, validasi, dan inferensi). get_model_args mengembalikan argumen untuk membangun ulang model seperti sekarang, yang save_for_hf tulis ke konfigurasi yang diekspor. Lihat adaptasi dan ekspor model untuk detailnya.
Antarmuka model
Model timm berbagi antarmuka umum di luar forward(): pemisahan forward_features() / forward_head(),
reset klasifikator, fitur perantara, penyesuaian ukuran input, dan hook pelatihan seperti gradient checkpointing dan
pengelompokan parameter. Hal ini dijelaskan dalam Model API timm, termasuk keluarga model mana yang mendukung
bagian mana.
Checkpoint dan Hub
load_checkpointmemuat file checkpoint (PyTorch atau.safetensors) ke dalam model.load_state_dictmembaca file checkpoint dan mengembalikan state dict-nya.resume_checkpointmemulihkan status model, optimizer, dan loss scaler dari checkpointtrain.pydan mengembalikan epoch untuk dilanjutkan.
load_checkpoint dan load_state_dict secara default memilih bobot EMA dari checkpoint train.py (use_ema)
dan menghapus prefiks kunci module. (DDP) dan _orig_mod. (torch.compile).
save_for_hfmenulis bobot danconfig.json(arsitektur, cfg pretrained,model_args,label_names) ke sebuah folder.push_to_hf_hubmengunggah bobot dan konfigurasi ke repositori Hub dengan kartu model yang dihasilkan jika repositori tersebut tidak memilikinya.
Model kemudian dibuat dengan hf-hub: atau local-dir:, lihat berbagi dan memuat model.
import timm
from timm.models import save_for_hf
model = timm.create_model('resnet18', num_classes=4)
# ... fine-tune
save_for_hf(model, 'my_resnet18', model_config=dict(label_names=['a', 'b', 'c', 'd']), safe_serialization=True)
model = timm.create_model('local-dir:my_resnet18', pretrained=True) # 4 classes, weights and labels restored
print(model.pretrained_cfg['label_names'])Model kustom
Fungsi entrypoint model yang dihias dengan register_model ditambahkan ke registry, sehingga
dapat dibuat dengan create_model dan ditemukan dengan list_models. Entrypoint di timm membangun modelnya dengan build_model_with_cfg, yang menangani cfg pretrained, pemuatan bobot pretrained, dan features_only.
API
Pembuatan model
timm.create_model
< source >( model_name: strpretrained: bool = Falsepretrained_cfg: typing.Union[str, typing.Dict[str, typing.Any], timm.models._pretrained.PretrainedCfg, NoneType] = Nonepretrained_cfg_overlay: typing.Optional[typing.Dict[str, typing.Any]] = Nonecheckpoint_path: typing.Union[str, pathlib.Path, NoneType] = Nonecache_dir: typing.Union[str, pathlib.Path, NoneType] = Nonescriptable: typing.Optional[bool] = Noneexportable: typing.Optional[bool] = Noneno_jit: typing.Optional[bool] = None**kwargs: typing.Any )
Parameter
- model_name β Nama model yang akan diinstansiasi.
- pretrained β Jika diatur ke True, muat bobot ImageNet-1k yang telah dilatih sebelumnya.
- pretrained_cfg β Masukkan pretrained_cfg eksternal untuk model.
- pretrained_cfg_overlay β Ganti pasangan kunci-nilai dalam pretrained_cfg dasar dengan nilai-nilai ini.
- checkpoint_path β Path checkpoint untuk dimuat setelah model diinisialisasi.
- cache_dir β Mengubah direktori cache model untuk Hugging Face Hub dan checkpoint Torch.
- scriptable β Mengatur konfigurasi layer agar model dapat di-jit script (belum berfungsi untuk semua model).
- exportable β Mengatur konfigurasi layer agar model dapat ditelusuri / diekspor ke ONNX (belum sepenuhnya diimplementasikan/dipatuhi).
- no_jit β Atur konfigurasi layer agar model tidak menggunakan layer yang di-jit script (sejauh ini hanya activations).
Buat model.
Lihat fungsi entrypoint model dan lewati argumen yang relevan untuk membuat model baru.
Tip:
**kwargs akan diteruskan melalui entrypoint fn ke timm.models.build_model_with_cfg() dan kemudian ke class model init(). Nilai kwargs yang diset ke None akan dipangkas sebelum diteruskan.
Keyword Args: drop_rate (float): Tingkat dropout untuk klasifikator saat pelatihan. drop_path_rate (float): Tingkat drop stochastic depth untuk pelatihan. global_pool (str): Jenis global pooling untuk klasifikator.
Contoh:
>>> from timm import create_model
>>> # Create a MobileNetV3-Large model with no pretrained weights.
>>> model = create_model('mobilenetv3_large_100')
>>> # Create a MobileNetV3-Large model with pretrained weights.
>>> model = create_model('mobilenetv3_large_100', pretrained=True)
>>> model.num_classes
1000
>>> # Create a MobileNetV3-Large model with pretrained weights and a new head with 10 classes.
>>> model = create_model('mobilenetv3_large_100', pretrained=True, num_classes=10)
>>> model.num_classes
10
>>> # Create a Dinov2 small model with pretrained weights and save weights in a custom directory.
>>> model = create_model('vit_small_patch14_dinov2.lvd142m', pretrained=True, cache_dir="/data/my-models")
>>> # Data will be stored at */data/my-models/models--timm--vit_small_patch14_dinov2.lvd142m/*Penemuan model
timm.list_models
< source >( filter: typing.Union[str, typing.Iterable[str]] = ''module: typing.Union[str, typing.Iterable[str]] = ''pretrained: bool = Falseexclude_filters: typing.Union[str, typing.Iterable[str]] = ''name_matches_cfg: bool = Falseinclude_tags: typing.Optional[bool] = None )
Parameter
- filter β Filter wildcard yang bekerja dengan fnmatch.
- module β Membatasi pemilihan model ke submodul tertentu (misalnya βvision_transformerβ).
- pretrained β Sertakan hanya model dengan bobot pretrained yang valid jika True.
- exclude_filters β Filter wildcard untuk mengecualikan model setelah model tersebut disertakan dengan filter.
- name_matches_cfg β Sertakan hanya model dengan model_name yang cocok dengan nama default_cfg (mengabaikan beberapa alias).
- include_tags β Sertakan tag pretrained dalam nama model (model.tag). Jika None, set ke nilai pretrained.
Kembalikan daftar nama model yang tersedia, diurutkan secara alami.
Contoh: list_models(βgluon_resnetβ) β mengembalikan semua model yang diawali dengan βgluon_resnetβ list_models(βresnext*β, βresnetβ) β mengembalikan semua model dengan βresnextβ di modul βresnetβ
timm.list_pretrained
< source >( filter: typing.Union[str, typing.Iterable[str]] = ''exclude_filters: typing.Union[str, typing.Iterable[str]] = '' )
Kembalikan daftar nama model pretrained (dengan tag), diurutkan secara alami.
Kembalikan daftar nama modul yang terurut dan berisi entrypoint model.
Periksa apakah arsitektur model terdaftar, mengabaikan tag pretrained apa pun.
Periksa apakah nama model (dengan atau tanpa tag) memiliki bobot pra-terlatih yang terdaftar.
timm.model_entrypoint
< source >( model_name: strmodule_filter: typing.Optional[str] = None )
Ambil fungsi entrypoint model untuk nama model tertentu, mengabaikan tag pretrained apa pun.
Konfigurasi pralatih
timm.get_pretrained_cfg
< source >( model_name: strallow_unregistered: bool = True )
Parameter
- model_name β Nama model, dengan atau tanpa tag pretrained.
- allow_unregistered β Mengembalikan None alih-alih melempar error jika arsitektur tidak memiliki cfg pretrained.
Membuang
RuntimeError
RuntimeErrorβ Jika tag tidak valid untuk arsitektur, atau tidak memiliki cfgs dan allow_unregistered adalah False.
Dapatkan salinan cfg pretrained untuk nama model, tag default digunakan jika tidak ada yang ditentukan.
timm.get_pretrained_cfg_value
< source >( model_name: strcfg_key: str )
Membuang
RuntimeError
RuntimeErrorβ Jika model tidak memiliki cfg pretrained yang terdaftar atau tag tidak valid.
Dapatkan nilai cfg pretrained tertentu berdasarkan kunci untuk nama model, None jika kunci tidak ada.
timm.models.get_arch_pretrained_cfgs
< source >( model_name: str )
Dapatkan salinan semua cfg pralatih untuk arsitektur model.
kelas timm.models.PretrainedCfg
< source >( url: typing.Union[str, typing.Tuple[str, str], NoneType] = Nonefile: typing.Optional[str] = Nonestate_dict: typing.Optional[typing.Dict[str, typing.Any]] = Nonehf_hub_id: typing.Optional[str] = Nonehf_hub_filename: typing.Optional[str] = Nonesource: typing.Optional[str] = Nonearchitecture: typing.Optional[str] = Nonetag: typing.Optional[str] = Nonecustom_load: bool = Falseinput_size: typing.Tuple[int, int, int] = (3, 224, 224)test_input_size: typing.Optional[typing.Tuple[int, int, int]] = Nonemin_input_size: typing.Optional[typing.Tuple[int, int, int]] = Nonefixed_input_size: bool = Falseinterpolation: str = 'bicubic'crop_pct: float = 0.875test_crop_pct: typing.Optional[float] = Nonecrop_mode: str = 'center'mean: typing.Tuple[float, ...] = (0.485, 0.456, 0.406)std: typing.Tuple[float, ...] = (0.229, 0.224, 0.225)num_classes: int = 1000label_offset: typing.Optional[int] = Nonelabel_names: typing.Optional[typing.Tuple[str]] = Nonelabel_descriptions: typing.Optional[typing.Dict[str, str]] = Nonepool_size: typing.Optional[typing.Tuple[int, ...]] = Nonetest_pool_size: typing.Optional[typing.Tuple[int, ...]] = Nonefirst_conv: typing.Optional[str] = Noneclassifier: typing.Optional[str] = Nonelicense: typing.Optional[str] = Nonedescription: typing.Optional[str] = Noneorigin_url: typing.Optional[str] = Nonepaper_name: typing.Optional[str] = Nonepaper_ids: typing.Union[str, typing.Tuple[str], NoneType] = Nonenotes: typing.Optional[typing.Tuple[str]] = None )
Input dan ekspor model saat ini
Kembalikan saluran gambar saat ini, ukuran nominal, dan batasan ukuran tetap.
Ukuran nominal adalah rekomendasi untuk model fleksibel. Metadata checkpoint sumber tetap berada di model.pretrained_cfg dan tidak pernah diubah di sini.
Kembalikan salinan dari sifat-sifat model, yang diperluas dengan jumlah channel dan class saat ini.
Atribut in_chans dan num_classes yang sudah ada tetap menjadi acuan;
atribut ini dibaca di sini alih-alih diduplikasi dalam trait yang disimpan.
Atribut yang tidak ada pada feature wrapper akan diabaikan.
timm.models.get_model_args
< source >( model: Moduleoverrides: typing.Optional[typing.Dict[str, typing.Any]] = None )
Kembalikan argumen rekonstruksi, termasuk perubahan yang didukung yang dilakukan setelah konstruksi.
Argumen runtime dikecualikan oleh pabrik. Tingkat penghapusan diabaikan kecuali secara eksplisit disediakan dalam penimpaan. Argumen arsitektur yang tidak dapat diserialisasi memerlukan pengganti yang dapat diserialisasi secara eksplisit saat mengekspor.
timm.models.resolve_model_input_args
< source >( model_name: strargs: typing.Optional[typing.Dict[str, typing.Any]] = None**model_kwargs )
Selesaikan permintaan input skrip menjadi argumen untuk create_model.
Argumen model yang disimpan adalah nilai default. Permintaan channel/size yang eksplisit memilih target tanpa menimpa metadata yang menggambarkan checkpoint sumber.
timm.models.adapt_input_conv
< source >( in_chans: intconv_weight: Tensorbase_chans: int = 3 )
Parameter
- in_chans β Jumlah saluran input untuk model target.
- conv_weight β Bobot Conv2d terlatih dalam tata letak OIHW.
- base_chans β Jumlah kanal input fisik yang digunakan untuk pretraining. Nilai ini dapat berbeda dari dimensi input bobot untuk stem space-to-depth.
Membuang
ValueError atau NotImplementedError
ValueErrorβ Jika salah satu jumlah channel tidak positif.NotImplementedErrorβ Jika format bobot tidak dapat diadaptasi.
Sesuaikan bobot konvolusi input yang telah dilatih sebelumnya ke jumlah channel yang berbeda.
Checkpoint dan Hub
timm.models.load_checkpoint
< source >( model: Modulecheckpoint_path: struse_ema: bool = Truedevice: typing.Union[str, torch.device] = 'cpu'strict: bool = Trueremap: bool = Falsefilter_fn: typing.Optional[typing.Callable] = Noneweights_only: bool = True )
Parameter
- model β Model untuk memuat checkpoint ke dalamnya.
- checkpoint_path β Path ke file checkpoint.
- use_ema β Apakah akan menggunakan bobot EMA jika tersedia.
- device β Perangkat untuk memuat checkpoint.
- strict β Apakah akan menegakkan kecocokan kunci state_dict secara ketat.
- remap β Apakah akan memetakan ulang kunci state dict berdasarkan urutan.
- filter_fn β Fungsi opsional untuk memfilter state dict.
- weights_only β Apakah hanya memuat bobot (parameter torch.load).
Muat checkpoint ke dalam model.
Native PyTorch checkpoints are loaded as state dictionaries. NumPy .npz/.npy` checkpoints are foreign, model-specific formats and are delegated to the model's `load_pretrained helper.
timm.models.load_state_dict
< source >( checkpoint_path: struse_ema: bool = Truedevice: typing.Union[str, torch.device] = 'cpu'weights_only: bool = True )
Muat state dictionary dari file checkpoint.
timm.models.resume_checkpoint
< source >( model: Modulecheckpoint_path: stroptimizer: typing.Optional[torch.optim.Optimizer] = Noneloss_scaler: typing.Optional[typing.Any] = Nonelog_info: bool = Trueweights_only: bool = True )
Parameter
- model β Model untuk memuat checkpoint ke dalamnya.
- checkpoint_path β Path ke file checkpoint.
- optimizer β Optimizer opsional untuk memulihkan state.
- loss_scaler β AMP loss scaler opsional untuk memulihkan state.
- log_info β Apakah akan mencatat info pemuatan.
- weights_only β Apakah hanya memuat bobot melalui torch.load.
Lanjutkan pelatihan dari checkpoint.
timm.models.save_for_hf
< source >( model: Modulesave_directory: strmodel_config: typing.Optional[dict] = Nonemodel_args: typing.Optional[dict] = Nonesafe_serialization: typing.Union[bool, typing.Literal['both']] = Falsedata_config: typing.Optional[dict] = None )
Simpan bobot asli beserta konfigurasi model dan pra-pemrosesan saat ini.
timm.models.push_to_hf_hub
< source >( model: Modulerepo_id: strcommit_message: str = 'Add model'token: typing.Optional[str] = Nonerevision: typing.Optional[str] = Noneprivate: bool = Falsecreate_pr: bool = Falsemodel_config: typing.Optional[dict] = Nonemodel_card: typing.Optional[dict] = Nonemodel_args: typing.Optional[dict] = Nonetask_name: str = 'image-classification'safe_serialization: typing.Union[bool, typing.Literal['both']] = 'both'data_config: typing.Optional[dict] = None )
Parameter
- (…) —
- model_args β Argumen rekonstruksi eksplisit yang melengkapi argumen yang dicatat oleh pabrik.
- data_config β Pra-pemrosesan yang digunakan dengan checkpoint yang diekspor, termasuk ukuran input dan normalisasi.
- safe_serialization (
boolatau"both", opsional, defaultFalse) β Apakah model disimpan menggunakansafetensorsatau cara tradisional PyTorch (yang menggunakanpickle). Dapat diatur ke"both"untuk mendorong bobot aman dan tidak aman.
Model kustom
timm.models.register_model
< source >( fn: typing.Callable[..., typing.Any] )
Decorator yang mendaftarkan fungsi entrypoint model dan semua cfg pretrained di default_cfgs modulnya.
Mendaftarkan nama yang sudah ada akan menimpa pendaftaran sebelumnya beserta cfgs pretrained-nya.
timm.models.build_model_with_cfg
< source >( model_cls: typing.Union[typing.Type[~ModelT], typing.Callable[..., ~ModelT]]variant: strpretrained: boolpretrained_cfg: typing.Optional[typing.Dict] = Nonepretrained_cfg_overlay: typing.Optional[typing.Dict] = Nonemodel_cfg: typing.Optional[typing.Any] = Nonefeature_cfg: typing.Optional[typing.Dict] = Nonepretrained_strict: bool = Truepretrained_filter_fn: typing.Optional[typing.Callable] = Nonecache_dir: typing.Union[str, pathlib.Path, NoneType] = Nonekwargs_filter: typing.Optional[typing.Tuple[str]] = Nonepretrained_model_args: typing.Optional[typing.Dict] = None**kwargs )
Parameter
- model_cls β Kelas model
- variant β Nama varian model
- pretrained β Muat bobot pretrained
- pretrained_cfg β Konfigurasi bobot/tugas pra-terlatih model
- pretrained_cfg_overlay β Entri yang akan menimpa entri di pretrained_cfg
- model_cfg β Konfigurasi arsitektur model
- feature_cfg β Konfigurasi adapter ekstraksi fitur
- pretrained_strict β Muat bobot pretrained secara ketat
- pretrained_filter_fn β Callable filter untuk bobot pretrained
- cache_dir β Mengubah direktori cache model untuk Hugging Face Hub dan checkpoint Torch
- kwargs_filter β Kunci Kwargs yang akan difilter (dihapus) sebelum diteruskan ke model
- pretrained_model_args β Argumen rekonstruksi yang menjelaskan checkpoint sumber.
- **kwargs β Argumen model yang diteruskan ke init model
Bangun model dengan default_cfg yang ditentukan dan model_cfg opsional
Fungsi pembantu ini membantu dalam konstruksi model, termasuk:
- menangani default_cfg dan pemuatan bobot pretrained yang terkait
- melewati model_cfg opsional untuk model dengan spesifikasi arsitektur berbasis konfigurasi
- adaptasi model features_only
- konfigurasi pruning / adaptasi model