timm documentation

Model

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

and get access to the augmented documentation experience

to get started

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:

  • --model memilih model.
  • --pretrained memuat bobot terlatih sebelumnya.
  • --num-classes mengatur ukuran klasifikator (num_classes).
  • --in-chans mengatur saluran input (in_chans).
  • --gp mengatur jenis pooling global (global_pool).
  • --drop mengatur dropout klasifikator (drop_rate).
  • --drop-path mengatur stochastic depth (drop_path_rate).
  • --pretrained-path memuat bobot terlatih dari file lokal dengan adaptasi klasifikator / konvolusi input (pretrained_cfg_overlay=dict(file=...)).
  • --initial-checkpoint memuat checkpoint setelah model dibuat, tanpa adaptasi (checkpoint_path).
  • --model-kwargs key=value ... meneruskan argumen model lainnya.

Lihat quickstart untuk pengantar.

Nama model

NamaSumber
resnet50Arsitektur di registry timm, dengan cfg pretrained default-nya (di sini a1_in1k)
resnet50.a1_in1kTag arsitektur + pretrained, tag yang tidak dikenal akan memicu error
hf-hub:timm/resnet50.a1_in1kRepo Hugging Face Hub, arsitektur, cfg pretrained, dan argumen model berasal dari config.json-nya, @revision memilih revisi
local-dir:/path/to/folderFolder 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

  • pretrained memuat bobot dari cfg pretrained, dari state_dict atau file jika diset, jika tidak dari Hub (hf_hub_id) ketika huggingface_hub terpasang, atau dari url. Adaptasi classifier / input conv di bawah memungkinkan model pretrained dibuat untuk fine-tuning dalam satu panggilan.
  • num_classes mengatur ukuran klasifikator, 0 menghapus klasifikator. Nilai default berasal dari cfg pretrained. Saat memuat bobot pretrained, jumlah kelas yang berbeda akan membuang bobot klasifikator (dibiarkan pada inisialisasi acak).
  • global_pool mengatur jenis pooling, opsinya spesifik untuk model (misalnya avg, max, avgmax, catavgmax untuk sebagian besar convnet, token, avg, map untuk ViT), '' menonaktifkan pooling.
  • in_chans mengatur 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_rate mengatur dropout pada klasifikator, didukung oleh sebagian besar model.
  • drop_path_rate mengatur stochastic depth, yang didukung oleh sebagian besar model.
  • img_size adalah argumen dari model gaya ViT dan model lain dengan ukuran input tetap; model-model ini dibangun untuk cfg pra-terlatih input_size kecuali jika disetel.
  • dynamic_img_size=True pada keluarga ViT dan EVA melakukan resampling posisi embedding ke ukuran input pada setiap forward pass.
  • features_only (dengan out_indices, output_stride, feature_cls) membungkus model sebagai feature backbone yang mengembalikan feature maps, lihat feature extraction.
  • pretrained_cfg menggantikan cfg pretrained (sebuah tag, dict, atau PretrainedCfg).
  • pretrained_cfg_overlay menimpa beberapa field-nya, misalnya pretrained_cfg_overlay=dict(file='weights.pth') memuat bobot pretrained=True dari file lokal, dengan adaptasi klasifikator / konvolusi input di atas (seperti yang dilakukan --pretrained-path di train.py).
  • checkpoint_path memuat checkpoint dengan load_checkpoint setelah model dibuat. Ini adalah pemuatan ketat tanpa adaptasi, dan bobot EMA digunakan jika checkpoint memilikinya.
  • cache_dir menimpa cache unduhan untuk bobot pretrained dan konfigurasi Hub.
  • device diteruskan ke kelas model, parameter dibuat langsung pada perangkat tersebut. device='meta' membuat model tanpa mengalokasikan memori untuk bobotnya.
  • dtype diteruskan ke kelas model, dan parameter dibuat langsung dalam dtype tersebut.
  • scriptable mengatur bendera konfigurasi lapisan untuk scripting TorchScript.
  • exportable mengatur bendera konfigurasi lapisan untuk ekspor / pelacakan.
  • no_jit mengatur 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.

BidangDeskripsi
architecture, tagArsitektur model dan tag pra-terlatih
hf_hub_id, url, file, state_dictSumber bobot (lihat pretrained di atas)
input_size, test_input_size, fixed_input_sizeUkuran 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_modeInterpolasi 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, stdNormalisasi input
num_classes, label_names, label_descriptionsUkuran dan label klasifikator (jika diketahui)
classifier, first_convNama modul dari klasifikator dan conv pertama, digunakan untuk menyesuaikan bobot saat dimuat
license, origin_url, paper_ids, paper_name, notesMeta-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_checkpoint memuat file checkpoint (PyTorch atau .safetensors) ke dalam model.
  • load_state_dict membaca file checkpoint dan mengembalikan state dict-nya.
  • resume_checkpoint memulihkan status model, optimizer, dan loss scaler dari checkpoint train.py dan 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_hf menulis bobot dan config.json (arsitektur, cfg pretrained, model_args, label_names) ke sebuah folder.
  • push_to_hf_hub mengunggah 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

< >

( 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

< >

( 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

< >

( filter: typing.Union[str, typing.Iterable[str]] = ''exclude_filters: typing.Union[str, typing.Iterable[str]] = '' )

Parameter

  • filter β€” Filter wildcard yang bekerja dengan fnmatch.
  • exclude_filters β€” Filter wildcard untuk mengecualikan model setelah model tersebut disertakan dengan filter.

Kembalikan daftar nama model pretrained (dengan tag), diurutkan secara alami.

timm.list_modules

< >

( )

Kembalikan daftar nama modul yang terurut dan berisi entrypoint model.

timm.is_model

< >

( model_name: str )

Periksa apakah arsitektur model terdaftar, mengabaikan tag pretrained apa pun.

timm.is_model_pretrained

< >

( model_name: str )

Periksa apakah nama model (dengan atau tanpa tag) memiliki bobot pra-terlatih yang terdaftar.

timm.model_entrypoint

< >

( model_name: strmodule_filter: typing.Optional[str] = None )

Parameter

  • model_name β€” Nama model, dengan atau tanpa tag pretrained.
  • module_filter β€” Jika diset, lempar error jika model tidak ada di submodul ini.

Ambil fungsi entrypoint model untuk nama model tertentu, mengabaikan tag pretrained apa pun.

Konfigurasi pralatih

timm.get_pretrained_cfg

< >

( 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

< >

( 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

< >

( model_name: str )

Parameter

  • model_name β€” Nama model, tag pretrained apa pun diabaikan.

Dapatkan salinan semua cfg pralatih untuk arsitektur model.

kelas timm.models.PretrainedCfg

< >

( 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

timm.models.get_model_input_config

< >

( model: Module )

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.

timm.models.get_model_traits

< >

( model: Module )

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

< >

( 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

< >

( 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

< >

( 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

< >

( 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

< >

( checkpoint_path: struse_ema: bool = Truedevice: typing.Union[str, torch.device] = 'cpu'weights_only: bool = True )

Parameter

  • checkpoint_path β€” Path ke file checkpoint.
  • use_ema β€” Apakah akan menggunakan bobot EMA jika tersedia.
  • device β€” Perangkat untuk memuat checkpoint.
  • weights_only β€” Apakah hanya memuat bobot (parameter torch.load).

Muat state dictionary dari file checkpoint.

timm.models.resume_checkpoint

< >

( 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

< >

( 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

< >

( 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 (bool atau "both", opsional, default False) β€” Apakah model disimpan menggunakan safetensors atau cara tradisional PyTorch (yang menggunakan pickle). Dapat diatur ke "both" untuk mendorong bobot aman dan tidak aman.

Model kustom

timm.models.register_model

< >

( fn: typing.Callable[..., typing.Any] )

Parameter

  • fn β€” Titik masuk model fn, terdaftar di bawah name-nya.

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

< >

( 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
Update on GitHub