timm documentation

Catatan Perubahan

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Catatan Perubahan

3 November 2026

  • reset_classifier() dan rekonstruksi checkpoint: perbaikan di ViT, EVA, BEiT, NaFlexViT, RepViT, dan iFormer menjaga penempatan normalisasi dan pengaturan distilasi saat mengekspor / memuat ulang model setelah mengubah classifier atau pooling. Juga memperbaiki ekspor PiT tanpa pooling dan EfficientFormerV2 dengan distilasi dinonaktifkan.
  • NaFlex: perbaiki penempatan norm ViT / EVA selama konversi, dukukan keselarasan SwiGLU untuk checkpoint DINOv3 / Lingbot, dan pertahankan kanal input grayscale / non-RGB di data loader.
  • Perbaiki pengelompokan peluruhan LR per lapisan untuk RepViT, HGNet, MViTv2 dan ViT pre-norm, serta ukuran fitur InceptionNeXt dengan output_stride=8/16.
  • Rilis 1.0.31.

24 Oktober 2026

  • forward_intermediates() dan prune_intermediate_layers() kini didukung oleh setiap model. Penambahan baru untuk CSPNet, NFNet, DLA, DenseNet (#2870, terima kasih ghaith-mq), CoaT, ConViT, ConvMixer, CrossViT, HRNet, Inception-v3, Inception-ResNet-v2, NASNet, PNASNet, SelecSLS, SENet, Sequencer2d, VGG, Visformer, Xception dan Aligned Xception, dengan prune_intermediate_layers() untuk encoder NaFlexViT dan MobileNetV5. CoaT, ConViT, ConvMixer, CrossViT dan Visformer memperoleh dukungan features_only.
  • prune_intermediate_layers() perbaikan
    • prune_head=True menghapus seluruh head (head norm, lapisan pre-logits, attention pooling) sehingga model yang dipangkas tidak menyisakan parameter yang tidak terpakai (DDP tanpa find_unused_parameters), kecuali CoaT, CrossViT, dan HRNet ketika hanya sebagian dari skala/cabang paralel mereka yang diambil. Gunakan prune_head=False untuk mempertahankannya.
    • Pruning model hierarkis ke tahap sebelumnya menghapus final norm dan head yang berukuran untuk tahap terakhir, forward_features() berakhir di fitur terakhir yang dipertahankan, dan num_features / head_hidden_size sesuai dengannya. Pruning ke fitur stem menghapus stem pooling setelahnya.
    • Perbaikan untuk grad checkpointing, stop_early, penghapusan class token / post network, dan TorchScript dari model yang dipangkas / feature_cls='getter' di banyak keluarga.
  • head_hidden_size adalah lebar pre-logits (pooled) yang sebenarnya di semua model, termasuk concat pooling (catavgmax) dan setelah reset_classifier(). Jenis pooling yang tidak dapat diterapkan oleh model sekarang akan memicu error saat pembuatan / reset, alih-alih diabaikan secara diam-diam atau gagal saat forward.
  • Perbaikan lain: keluaran VOLO num_classes=0 adalah embedding token kelas (sesuai dengan forward_head(pre_logits=True)), vit_pe_core reset_classifier() dengan pool non-map menghapus attention pool, ekspor tipe pool melalui save_for_hf membaca pooling saat ini dari head, dan checkpoint Swin, SwinV2, DaViT, dan NextViT tanpa head (num_classes=0) dimuat ulang dengan benar.

13 Oktober 2026

  • Sweep hiperparameter melalui sweep.py baru: pencarian grid / acak untuk argumen train.py apa pun, satu --config efektif per pekerjaan, dijalankan pada kumpulan GPU lokal dan dapat dilanjutkan. Sweep WSD melatih satu batang stabil per kombinasi hiperparameter dan bercabang menjadi cooldown independen dari checkpoint miliknya, membandingkan annealing pada beberapa anggaran dengan biaya yang jauh lebih rendah daripada eksekusi penuh. Lihat dokumentasi pelatihan.
  • train.py: --resume auto melanjutkan secara langsung dari last.pth.tar milik eksperimen itu sendiri (riwayat checkpoint, model_best dan summary.csv tetap konsisten), --stop-epoch N berhenti tanpa mengubah jadwal, --save-epochs N [N ...] menyimpan snapshot milestone-N.pth.tar, dan nilai YAML --config divalidasi terhadap argumen skrip.
  • Nonaktifkan PlateauLRScheduler (--sched plateau). Scheduler timm adalah fungsi stateless dari epoch atau jumlah update, jadwal plateau yang didorong metrik tidak pernah cocok dengan itu dan state-nya tidak di-checkpoint, sehingga resume tidak pernah akurat. Gunakan cosine atau wsd.
  • Dokumen: halaman baru Model API, halaman keluarga model yang dihasilkan untuk setiap modul model menggantikan halaman per-model lama, serta halaman referensi data / loss / models yang diperluas.
  • Perbaikan konsistensi API Model: reset_classifier() mempertahankan pooling saat ini di semua model, argumen konstruktor yang tidak dikenal memicu TypeError di mana pun, dynamic_img_size keluarga Swin, peluruhan lr per lapisan LeViT, nama no_weight_decay yang tidak cocok dengan parameter mana pun (NesT, SwinV2, XCiT, FocalNet), dan state resize yang dicatat untuk semua keluarga set_input_size.
  • Perbaikan: GCViT global query mencampur gambar dalam batch, gradient checkpointing untuk RDNet dan MobileNetV5, ukuran input uji yang usang untuk save_for_hf, resize persegi panjang untuk EfficientViT (MSRA), dan error konversi gambar pada ImageDataset (#2846). reparameterize_model dipindahkan ke timm.models.

9 Oktober 2026

  • Tambahkan CSPNeXt (RTMDet backbone) cspnext_{tiny,s,m,l,x} dengan bobot klasifikasi ImageNet-1k yang dikonversi dari OpenMMLab. Terima kasih Munehiro Kobayashi.
  • Perbaikan optimizer
    • Impl Foreach (multi-tensor) untuk RMSpropTF, LaProp, LAMB, LARS, AdaBelief. Langkah Foreach di-chunk berdasarkan ukuran cache L2 perangkat (TIMM_FOREACH_CHUNK_SIZE untuk menimpa).
    • Pemotongan pembaruan RMS (clipping_threshold) untuk AdamWLegacy / NAdamW, varian NovoGrad dengan peluruhan bobot terdekopel / terkoreksi baru (novogradw, novogradc).
    • Perbaikan keakuratan di banyak optimizer, termasuk koreksi weight decay dengan tensor lr yang diperbarui secara in-place, stagnasi pembaruan FP16 pada lr kecil, penanganan state presisi rendah (Kron, AdaBelief, NovoGrad), dan tidak ada lagi modifikasi p.grad secara in-place.
    • Perbaikan torch.compile / CUDA graph untuk Adopt, SGDW, AdafactorBV.
    • Dokumentasi optimizer baru yang mencakup penggunaan, konvensi penamaan, dan keluarga.
  • Tambahkan penjadwal LR WSD (warmup-stable-decay) (--sched wsd, --lr-decay-fn, --lr-stable-timescale).
  • Perbaikan Model EMA untuk model bfloat16 / float16. ModelEmaV3 bfloat16 EMAs menggunakan pembulatan stokastik secara default, sedangkan model float16 mempertahankan EMA float32.
  • Penyesuaian ukuran model melalui set_input_size()
    • Dukungan yang diperluas untuk model berjendela (MaxViT, CoAtNet, BEiT, EfficientViT-MSRA, relpos ViT, keluarga Swin).
    • Swin / SwinV2 / SwinV2-CR mempertahankan rasio window terhadap grid untuk setiap stage saat resize, sehingga pemanggilan pada ukuran saat ini kini menjadi no-op. Didukung window_size / window_ratio per-stage. Memperbaiki model Swin S3 dan SwinV2 window16 / window12 yang mengubah output pada pemanggilan dengan ukuran yang sama.
    • Perbaiki SwinV2 NaN dengan ukuran jendela 1, ukuran fitur tahap ganjil, dan hybrid ViT resize pada CUDA / presisi rendah.
  • Perbaikan penanganan sisa akumulasi gradien (#2821), sampling terdistribusi / augmentasi berulang pada dataset kecil, override sumber pretrained dan setup guru distilasi, train.py dengan --sched none, serta interpolasi center crop untuk evaluasi pada input non-persegi.
  • Perbaikan kompatibilitas ekspor ONNX di berbagai versi PyTorch, perbaikan konsistensi dropout, dan lebih banyak perbaikan inisialisasi meta-device.

25 September 2026

  • Dukungan klasifikasi multi-label
    • Tambahkan --task multilabel ke train.py / validate.py, dilatih dengan BCE (MultiLabelClassificationTask). Lihat dokumentasi pelatihan untuk detailnya.
    • Target dapat berupa daftar indeks kelas, vektor multi-hot padat (--target-format multihot), atau satu bidang biner per kelas (--target-key a,b,c), dengan jalur / ke bidang bersarang. Didukung oleh pembaca hfds, hfids, tfds (kunci multi-bidang), dan wds.
    • Loader Mixup / CutMix dan NaFlex mendukung target multi-label. Label smoothing menggeser setiap target menuju 0,5 dan secara default bernilai 0 untuk multi-label.
    • Validasi melaporkan mAP (metrik evaluasi default --eval-metric) beserta F1 mikro, makro, dan sampel, dengan ambang F1 yang diatur oleh --multilabel-threshold.
    • Evaluator baru pada level dataset menghitung metrik di seluruh set validasi di antara rank terdistribusi, dengan mengecualikan padding dari sampler terdistribusi.
    • Lihat koleksi timm multi-label image datasets di Hub untuk contoh / dataset benchmark yang langsung dapat digunakan.
  • Opsi loss baru melalui --loss
    • Poly-1, Two-way, ZLPR, dan kerugian Distribution-Balanced.
    • Penimbangan frekuensi kelas untuk BCE / ASL, dihitung dari jumlah label yang dikumpulkan oleh class_weights.py.
    • ASL kini aman untuk fp16 dan secara default menggunakan reduksi batchmean
  • Refactor RoPE Perluas augmentasi koordinat RoPE yang hanya untuk pelatihan (shift, jitter, rescale) ke embedding axial, mixed, dan MRoPE, dengan berbagi helper bersama DINOv3 sambil mempertahankan perilaku augmentasi yang ada. Tambahkan opsi grid_type dan normalize_coords ke pembangun Fourier / rotary (build_fourier_pos_embed, build_rotary_pos_embed) dan modul RoPE axial, serta bagian MRoPE yang dapat dikonfigurasi di EVA. Dukung rotate_half pada RotaryEmbedding dengan output tuple dan varian factory dasar. Perbaiki penerusan tata letak rotasi di EVA, NaFlexViT, dan pooling perhatian MRoPE. Pertahankan buffer frekuensi dan koordinat RoPE yang tidak dipelajari setidaknya sebagai float32 pada model half/bfloat16, dan hitung fase RoPE campuran dalam float32 di bawah autocast. Perbaikan presisi ini dapat mengubah output model presisi rendah. Perbaiki embedding RoPE batched untuk grid piksel dan penskalaan ulang bentuk referensi. DINOv3 grid_indexing='xy' sekarang menukar kanal koordinat sesuai permintaan; output untuk konfigurasi yang sebelumnya salah ini berubah. Buat apply_rot_embed, apply_rot_embed_cat, dan apply_rot_embed_list mengembalikan dtype dari setiap input, dengan melakukan casting setelah rotasi tanpa terlebih dahulu menurunkan sin/cos. Konsolidasikan dua modul RoPE axial di belakang basis privat. Panggilan yang ada tetap kompatibel, tetapi buffer bands sekarang dipertahankan dalam mode cached dan dinamis (rope.bands tidak lagi None dalam mode cached).
    • Perluas augmentasi koordinat RoPE khusus pelatihan (shift, jitter, rescale) ke embedding axial, mixed, dan MRoPE, dengan berbagi helper bersama DINOv3 sambil mempertahankan perilaku augmentasi yang ada.
    • Tambahkan opsi grid_type dan normalize_coords ke pembangun Fourier / rotary (build_fourier_pos_embed, build_rotary_pos_embed) dan modul RoPE aksial, serta bagian MRoPE yang dapat dikonfigurasi di EVA.
    • Dukungan rotate_half pada RotaryEmbedding dengan output tuple dan varian pabrik base.
    • Perbaikan penerusan tata letak rotasi pada EVA, NaFlexViT, dan pooling perhatian MRoPE.
    • Jaga buffer frekuensi dan koordinat RoPE yang tidak dipelajari tetap minimal float32 pada model half/bfloat16, dan hitung fase RoPE campuran dalam float32 di bawah autocast. Perbaikan presisi ini dapat mengubah keluaran model berpresisi rendah.
    • Perbaiki embedding RoPE batched untuk grid piksel dan penskalaan ulang bentuk referensi. DINOv3 grid_indexing='xy' sekarang menukar kanal koordinat sesuai permintaan; keluaran untuk konfigurasi yang sebelumnya salah ini berubah.
    • Buat apply_rot_embed, apply_rot_embed_cat, dan apply_rot_embed_list mengembalikan dtype dari setiap input, dengan melakukan casting setelah rotasi tanpa terlebih dahulu menurunkan tipe sin/cos.
    • Konsolidasikan dua modul RoPE aksial di belakang basis privat. Panggilan yang ada tetap kompatibel, tetapi buffer bands kini dipertahankan dalam mode cached dan dinamis (rope.bands tidak lagi None dalam mode cached).
  • Perbaikan untuk pengalihan mode latih/evaluasi dan perubahan dtype pada LeViT dan model terkait (EfficentFormer*, EfficientViT-MSRA, TinyViT) dengan bias perhatian yang di-cache.

22 September 2026

  • Tambahkan bobot menara visi Qwen-Drive-1.0-4B.
  • Perbaiki penggunaan ulang dan sinkronisasi stream pada prefetch loader serta AugMix untuk gambar non-persegi dan pita tunggal.
  • Perbaiki penskalaan LR konvolusi AdaMuon, pemotongan AdafactorBigVision, riwayat gradien MARS, dan pemuatan checkpoint Kron.
  • Perbaiki cache bias perhatian evaluasi yang kedaluwarsa, metadata fitur model yang dipangkas, padding max-pool yang di-dilasi, dan mode gradien loss asimetris.
  • Rilis 1.0.30

10-11 September 2026

  • Tambahkan varian klasifikator dan encoder ViT untuk Qwen3-VL / Qwen3.5 / Qwen3.8, termasuk klasifikator dengan dan tanpa spatial merger bawaan.
  • Tambahkan Sapiens2 ViTs dengan dukungan EVA dan NaFlexViT. Kedua penambahan model ini mencakup bobot timm Hub secara native. Terima kasih Yonghye Kwon.
  • Tambahkan iFormer dengan bobot Hub timm asli. Terima kasih Ryan Hou.
  • Tambahkan EfficientViM dengan bobot Hub timm native. Terima kasih smellslikeml.
  • Tambahkan klasifikator dan encoder ViT untuk DeepSeek-V4 / V4.1 dengan bobot Hub timm asli. Terima kasih Yonghye Kwon.
  • Ganti interpolasi posisi NaFlex SigLIP default, pemilihan ukuran input inference.py, dan perbaiki parsing --model-kwargs.
  • Perbaiki konstruksi meta-device dan dukungan factory device/dtype untuk beberapa model; pindahkan pengujian config ke meta untuk CI yang lebih cepat, cakupan konteks meta.

27 Agustus 2026

  • Tambahkan model dan bobot LowFormer
  • Perbaiki atau gabungkan sejumlah bug nyata namun kecil atau jarang ditemui yang ditemukan oleh agen
  • Rilis 1.0.29

11 Agustus 2026

  • Tambahkan definisi model dan bobot pralatih untuk
  • Tambahkan penjadwalan gambar per-batch dan ukuran batch untuk pelatihan non-NaFlex, termasuk penjadwalan resolusi bertahap dari kecil ke besar.
  • Perbaiki NaFlexViT dengan mask perhatian hanya-kunci, pengambilan sampel posisi yang ramah kompilasi dan hemat memori, serta interpolasi patch variabel yang di-cache.
  • Perbaiki jalur pabrik model dan penanganan checkpoint; perbaiki resampling embedding posisi token yang sama.

10 Juli 2026

  • Perbaiki dukungan torch.compile dan learning-rate tensor untuk optimizer.
  • Perluas patch-layout NaFlexViT (untuk NaFlex-CLAP), dan dukungan forward_intermediates (input dict NaFlex).
  • Perkuat pemuatan pickle dan perbaiki inferensi label kustom.
  • Rilis 1.0.28

27 Mei 2026

8 Mei 2026

  • Rilis 1.0.27

23 April 2026

  • Tambahkan enkoder Gemma4 ViT dengan dukungan pipeline NaFlex (aspek/ukuran variabel per gambar). Terima kasih Yonghye Kwon
  • Dukungan bobot DINOv3 di NaFlexVit. Terima kasih Yonghye Kwon
  • Beberapa perbaikan pada perilaku lr fallback Muon (AdamW/NadamW)

23 Maret 2026

  • Perbaiki keamanan penanganan checkpoint pickle. Buat semua pemuatan secara default menjadi weights_only=True, tambahkan safe_global untuk ArgParse.
  • Perbaiki penanganan attention mask untuk model dan lapisan inti ViT/EVA. Selesaikan mask bool, teruskan is_causal untuk tugas SSL.
  • Perbaiki kelas & penggunaan token register dengan ViT dan pos embed tidak diaktifkan.
  • Tambahkan Patch Representation Refinement (PRR) sebagai opsi pooling di ViT. Terima kasih Sina (https://github.com/sinahmr).
  • Perbaiki konsistensi dimensi output projection / MLP untuk lapisan attention pooling.
  • Optimasi F.SDPA pada model Hiera untuk memungkinkan penggunaan kernel Flash Attention.
  • Peringatan ditambahkan ke optimizer SGDP.
  • Rilis 1.0.26. Rilis pemeliharaan pertama sejak saya meninggalkan Hugging Face.

23 Feb 2026

  • Tambahkan dukungan pelatihan distilasi token ke pembungkus tugas distilasi
  • Hapus beberapa penggunaan torch.jit sebagai persiapan untuk penghapusan resmi
  • Peringatan ditambahkan ke optimizer AdamP
  • Panggil reset_parameters() bahkan jika inisialisasi meta-device, sehingga buffer dapat diinisialisasi dengan trik seperti init_empty_weights
  • Sesuaikan optimizer Muon agar dapat bekerja dengan DTensor/FSDP2 (gunakan instead of clamp_min, cabang NS alternatif untuk DTensor)
  • Rilis 1.0.25

21 Jan 2026

  • Compat Break: Perbaikan kelalaian terkait bias QKV vs MLP di ParallelScalingBlock (& DiffParallelScalingBlock)
    • Tidak berdampak pada model timm yang telah dilatih, tetapi dapat berdampak pada penggunaan turunan.

5 & 6 Jan 2026

  • Rilis 1.0.24
  • Tambahkan file csv hasil benchmark baru untuk waktu inferensi pada semua model dengan kartu RTX Pro 6000, 5090, dan 4090 menggunakan PyTorch 2.9.1
  • Perbaiki error modul yang dipindahkan pada jalur impor timm.models.layers yang sudah tidak didukung lagi, yang berdampak pada impor versi lama
  • Rilis 1.0.23

30 Des 2025

12 Des 2025

1 Des 2025

  • Tambahkan abstraksi tugas ringan, tambahkan dukungan distilasi logits dan fitur ke skrip pelatihan melalui tugas baru.
  • Hapus dukungan APEX AMP lama

4 Nov 2025

  • Perbaiki bug inisialisasi LayerScale / LayerScale2d (nilai inisialisasi diabaikan), yang diperkenalkan di 1.0.21. Terima kasih https://github.com/Ilya-Fradlin
  • Rilis 1.0.22

31 Okt 2025 🎃

  • Perbarui file csv hasil varian imagenet & OOD untuk menyertakan beberapa model baru dan verifikasi keakuratannya di beberapa versi torch & timm
  • Bobot model EfficientNet-X dan EfficientNet-H B5 ditambahkan sebagai bagian dari pencarian hparam untuk AdamW vs Muon (masih beriterasi pada run Muon)

16-20 Okt 2025

  • Tambahkan implementasi optimizer Muon (berdasarkan https://github.com/KellerJordan/Muon) dengan kustomisasi
    • fleksibilitas tambahan dan penanganan yang lebih baik untuk bobot konvolusi serta fallback untuk bentuk bobot yang tidak cocok untuk ortogonalisasi
    • peningkatan kecepatan kecil untuk iterasi NS dengan mengurangi alokasi dan menggunakan operasi (b)add(b)mm yang terpadu
    • secara default menggunakan pembaruan AdamW (atau NAdamW jika nesterov=True) jika muon tidak cocok untuk bentuk parameter (atau dikecualikan melalui flag grup parameter)
    • seperti implementasi torch, pilih dari beberapa fungsi penyesuaian skala LR melalui adjust_lr_fn
    • pilih dari beberapa preset koefisien NS atau tentukan sendiri melalui ns_coefficients
  • Dua langkah pertama inisialisasi model perangkat ‘meta’ didukung
    • Perbaiki beberapa ops yang menyebabkan kegagalan pembuatan di bawah konteks perangkat ‘meta’
    • Tambahkan dukungan kwarg factory device & dtype ke semua model dan modul (apa pun yang mewarisi dari nn.Module) di timm
  • Bidang lisensi ditambahkan ke cfg pra-terlatih dalam kode
  • Rilis 1.0.21

21 September 2025

  • Remap tag bobot DINOv3 ViT dari lvd_1689m -> lvd1689m agar sesuai (hal yang sama berlaku untuk sat_493m -> sat493m)
  • Rilis 1.0.20

17 September 2025

23 Juli 2025

  • Tambahkan metode set_input_size() ke model EVA, yang digunakan oleh OpenCLIP 3.0.0 untuk memungkinkan pengubahan ukuran pada model encoder berbasis timm.
  • Rilis 1.0.18, diperlukan untuk model PE-Core S & T di OpenCLIP 3.0.0
  • Perbaiki masalah penulisan kecil yang merusak kompatibilitas Python 3.9. Rilis patch 1.0.19.

21 Juli 2025

  • Dukungan ROPE ditambahkan ke NaFlexViT. Semua model yang dicakup oleh basis EVA (eva.py) termasuk EVA, EVA02, Meta PE ViT, timm SBB ViT w/ ROPE, dan Naver ROPE-ViT kini dapat dimuat di NaFlexViT ketika use_naflex=True dilewatkan saat pembuatan model
  • Lebih banyak encoder Meta PE ViT ditambahkan, termasuk varian small/tiny, varian lang dengan tiling, dan lebih banyak varian spasial.
  • PatchDropout diperbaiki dengan NaFlexViT dan juga dengan model EVA (regresi setelah menambahkan Naver ROPE-ViT)
  • Perbaiki urutan XY dengan grid_indexing='xy', penggunaan gambar non-persegi yang terdampak dalam mode 'xy' (hanya ROPE-ViT dan PE yang terdampak).

7 Juli 2025

  • Penyesuaian backbone MobileNet-v5 untuk perilaku Google Gemma 3n yang lebih baik (untuk dipasangkan dengan bobot resmi yang diperbarui)
    • Tambahkan bias stem (dino-kan pada bobot yang diperbarui, tidak kompatibel dengan bobot lama)
    • GELU -> GELU (tanh approx). Perubahan kecil agar lebih dekat ke JAX
  • Tambahkan dua argumen untuk dukungan layer-decay, yaitu min scale clamp dan ambang batas skala ‘no optimization’
  • Tambahkan varian ‘Fp32’ LayerNorm, RMSNorm, SimpleNorm yang dapat diaktifkan untuk memaksa komputasi norm dalam float32
  • Beberapa penulisan tipe, pembersihan argumen untuk lapisan norm, norm+act selesai dilakukan dengan di atas
  • Dukungan Naver ROPE-ViT (https://github.com/naver-ai/rope-vit) di eva.py, tambahkan modul RotaryEmbeddingMixed untuk mode campuran, bobot di HuggingFace Hub
modelimg_sizetop1top5param_count
vit_large_patch16_rope_mixed_ape_224.naver_in1k22484.8497.122304.4
vit_large_patch16_rope_mixed_224.naver_in1k22484.82897.116304.2
vit_large_patch16_rope_ape_224.naver_in1k22484.6597.154304.37
vit_large_patch16_rope_224.naver_in1k22484.64897.122304.17
vit_base_patch16_rope_mixed_ape_224.naver_in1k22483.89496.75486.59
vit_base_patch16_rope_mixed_224.naver_in1k22483.80496.71286.44
vit_base_patch16_rope_ape_224.naver_in1k22483.78296.6186.59
vit_base_patch16_rope_224.naver_in1k22483.71896.67286.43
vit_small_patch16_rope_224.naver_in1k22481.2395.02221.98
vit_small_patch16_rope_mixed_224.naver_in1k22481.21695.02221.99
vit_small_patch16_rope_ape_224.naver_in1k22481.00495.01622.06
vit_small_patch16_rope_mixed_ape_224.naver_in1k22480.98694.97622.06
  • Beberapa pembersihan modul ROPE, helper, dan pendaftaran daun pelacakan FX
  • Menyiapkan rilis versi 1.0.17

26 Juni 2025

  • Backbone MobileNetV5 (dengan varian hanya encoder) untuk encoder gambar Gemma 3n
  • Versi 1.0.16 dirilis

23 Juni 2025

5 Juni 2025

  • Kode awal model NaFlexVit. NaFlexVit adalah Vision Transformer dengan:
    1. Embedding dan enkoding posisi yang dikapsulasikan dalam satu modul
    2. Dukungan untuk patch embedding nn.Linear pada input pre-patchified (dictionary)
    3. Dukungan untuk aspek variabel dan resolusi variabel NaFlex (SigLip-2: https://arxiv.org/abs/2502.14786)
    4. Dukungan untuk ukuran patch variabel FlexiViT (https://arxiv.org/abs/2212.08013)
    5. Dukungan untuk penanam posisi fraksional/faktorisasi NaViT (https://arxiv.org/abs/2307.06304)
  • Model vit yang ada di vision_transformer.py dapat dimuat ke dalam model NaFlexVit dengan menambahkan use_naflex=True flag ke create_model
    • Beberapa bobot asli segera hadir
  • Pipeline data NaFlex lengkap tersedia yang memungkinkan pelatihan / fine-tuning / evaluasi dengan gambar ber-aspek / ukuran variabel
    • Untuk mengaktifkannya di train.py dan validate.py, tambahkan argumen --naflex-loader, yang harus digunakan bersama NaFlexVit
  • Untuk mengevaluasi ViT (klasik) yang sudah ada yang dimuat dalam model NaFlexVit dengan data pipe NaFlex:
    • python validate.py /imagenet --amp -j 8 --model vit_base_patch16_224 --model-kwargs use_naflex=True --naflex-loader --naflex-max-seq-len 256
  • Pelatihan ini memiliki beberapa fitur argumen tambahan yang patut diperhatikan
    • Argumen --naflex-train-seq-lens' menentukan panjang sekuens mana yang akan dipilih secara acak per batch selama pelatihan
    • Argumen --naflex-max-seq-len mengatur panjang urutan target untuk validasi
    • Menambahkan --model-kwargs enable_patch_interpolator=True --naflex-patch-sizes 12 16 24 akan mengaktifkan pemilihan ukuran patch secara acak per-batch dengan interpolasi
    • Argumen --naflex-loss-scale mengubah mode penskalaan loss per batch relatif terhadap ukuran batch, sedangkan pemuatan NaFlex dari timm mengubah ukuran batch untuk setiap panjang sekuens

28 Mei 2025

21 Feb 2025

  • Encoder gambar SigLIP 2 ViT ditambahkan (https://huggingface.co/collections/timm/siglip-2-67b8e72ba08b09dd97aecaf9)
    • Versi resolusi variabel / aspek NaFlex masih dalam tahap pengembangan
  • Tambahkan bobot ViT ‘SO150M2’ yang dilatih dengan resep SBB, hasil yang sangat baik, lebih unggul di ImageNet dibandingkan upaya sebelumnya dengan pelatihan yang lebih sedikit.
    • vit_so150m2_patch16_reg1_gap_448.sbb_e200_in12k_ft_in1k - 88,1% top-1
    • vit_so150m2_patch16_reg1_gap_384.sbb_e200_in12k_ft_in1k - 87,9% top-1
    • vit_so150m2_patch16_reg1_gap_256.sbb_e200_in12k_ft_in1k - 87,3% top-1
    • vit_so150m2_patch16_reg4_gap_256.sbb_e200_in12k
  • Bobot InternViT-300M ‘2.5’ diperbarui
  • Rilis 1.0.15

1 Feb 2025

  • FYI PyTorch 2.6 & Python 3.13 telah diuji dan berfungsi dengan baik pada versi main saat ini dan versi rilis dari timm

27 Jan 2025

19 Jan 2025

  • Perbaiki pemuatan bobot safetensor LeViT, hapus kode konversi yang seharusnya sudah dinonaktifkan
  • Tambahkan bobot ViT ‘SO150M’ yang dilatih dengan resep SBB, hasilnya cukup baik, tetapi bentuknya tidak optimal untuk pretrain/ft ImageNet-12k/1k
    • vit_so150m_patch16_reg4_gap_256.sbb_e250_in12k_ft_in1k - 86,7% top-1
    • vit_so150m_patch16_reg4_gap_384.sbb_e250_in12k_ft_in1k - 87,4% top-1
    • vit_so150m_patch16_reg4_gap_256.sbb_e250_in12k
  • Pembersihan penulisan, kesalahan ketik, dan lainnya
  • Rilis 1.0.14 untuk mengeluarkan perbaikan di atas LeViT

9 Jan 2025

  • Tambahkan dukungan untuk melatih dan memvalidasi dalam bfloat16 atau float16 murni
  • Argumen nama proyek wandb ditambahkan oleh https://github.com/caojiaolong, gunakan arg.experiment untuk nama
  • Perbaiki masalah lama terkait penyimpanan checkpoint yang tidak berfungsi pada sistem berkas tanpa dukungan hard-link (misalnya, mount fs FUSE)
  • Rilis 1.0.13

6 Jan 2025

  • Tambahkan wrapper torch.utils.checkpoint.checkpoint() di timm.models yang secara default menggunakan use_reentrant=False, kecuali jika TIMM_REENTRANT_CKPT=1 diset di env.

31 Des 2024

  • convnext_nano 384x384 pretrain & fine-tune ImageNet-12k. https://huggingface.co/models?search=convnext_nano%20r384
  • Tambahkan encoder AIM-v2 dari https://github.com/apple/ml-aim, lihat di Hub: https://huggingface.co/models?search=timm%20aimv2
  • Tambahkan encoder PaliGemma2 dari https://github.com/google-research/big_vision ke PaliGemma yang sudah ada, lihat di Hub: https://huggingface.co/models?search=timm%20pali2
  • Tambahkan L/14 DFN2B 39B CLIP ViT yang hilang, vit_large_patch14_clip_224.dfn2b_s39b
  • Perbaiki lapisan RmsNorm dan fn yang ada agar sesuai dengan formulasi standar, gunakan impl PT 2.5 jika memungkinkan. Pindahkan impl lama ke lapisan SimpleNorm, yaitu LN tanpa centering atau bias. Hanya ada dua model timm yang menggunakannya, dan keduanya telah diperbarui.
  • Izinkan penggantian argumen cache_dir untuk pembuatan model
  • Teruskan trust_remote_code untuk pembungkus dataset HF
  • Model inception_next_atto yang ditambahkan oleh pembuat
  • Perhatian untuk optimizer Adan, dan opsi decay bobot yang dipisahkan untuk Lamb
  • Beberapa metadata feature_info yang diperbaiki oleh https://github.com/brianhou0208
  • Semua bobot model OpenCLIP dan JAX (CLIP, SigLIP, Pali, dll) yang menggunakan pemetaan ulang waktu pemuatan kini memiliki instance HF Hub masing-masing agar dapat bekerja dengan pemuatan berbasis hf-hub:, sehingga juga akan berfungsi dengan TimmWrapperModel baru di Transformers

28 Nov 2024

12 Nov 2024

  • Refactor pabrik optimizer
    • Factory baru bekerja dengan mendaftarkan optimizer menggunakan dataclass OptimInfo dengan beberapa sifat kunci
    • Tambahkan list_optimizers, get_optimizer_class, get_optimizer_info ke fungsi create_optimizer_v2 yang telah dirombak untuk menjelajahi optimizer, mendapatkan info atau kelas
    • deprecate optim.optim_factory, pindahkan fns ke optim/_optim_factory.py dan optim/_param_groups.py dan dorong import via timm.optim
  • Tambahkan optimizer Adopt (https://github.com/iShohei220/adopt)
  • Tambahkan varian ‘Big Vision’ dari optimizer Adafactor (https://github.com/google-research/big_vision/blob/main/big_vision/optax.py)
  • Perbaiki Adafactor asli untuk memilih dimensi faktorisasi yang lebih baik untuk konvolusi
  • Sesuaikan optimizer LAMB dengan beberapa peningkatan pada fungsi torch.where sejak versi aslinya, refactor clipping sedikit
  • dukungan ukuran gambar dinamis di vit, deit, dan eva ditingkatkan untuk mendukung resize dari grid patch non-persegi, terima kasih https://github.com/wojtke

31 Okt 2024

Tambahkan seperangkat bobot baru ResNet & ResNet-V2 18/34 (basic block) yang sangat terlatih. Lihat https://huggingface.co/blog/rwightman/resnet-trick-or-treat

19 Okt 2024

  • Bersihkan penggunaan torch amp untuk menghindari panggilan spesifik cuda, gabungkan dukungan untuk perangkat Ascend (NPU) dari MengqingCao yang seharusnya sekarang berfungsi di PyTorch 2.5 dengan fitur autoloading ekstensi perangkat baru. Diuji juga Intel Arc (XPU) di Pytorch 2.5 dan (sebagian besar) berfungsi.

16 Okt 2024

  • Perbaiki error saat mengimpor dari path yang sudah tidak didukung timm.models.registry, tingkatkan prioritas peringatan deprecation yang ada agar terlihat
  • Port bobot InternViT-300M (https://huggingface.co/OpenGVLab/InternViT-300M-448px) ke timm sebagai vit_intern300m_patch14_448

14 Okt 2024

  • Versi pre-aktivasi (ResNetV2) dari definisi model ResNet 18/18d/34/34d ditambahkan atas permintaan (bobot masih menunggu)
  • Rilis 1.0.10

11 Okt 2024

  • Model dan bobot MambaOut (https://github.com/yuweihao/MambaOut) ditambahkan. Pendekatan cerdik untuk model visi SSM tanpa SSM (pada dasarnya ConvNeXt dengan gating). Kombinasi bobot asli + variasi dan bobot kustom.
modelimg_sizetop1top5param_count
mambaout_base_plus_rw.sw_e150_r384_in12k_ft_in1k38487.50698.428101.66
mambaout_base_plus_rw.sw_e150_in12k_ft_in1k28886.91298.236101.66
mambaout_base_plus_rw.sw_e150_in12k_ft_in1k22486.63298.156101.66
mambaout_base_tall_rw.sw_e500_in1k28884.97497.33286.48
mambaout_base_wide_rw.sw_e500_in1k28884.96297.20894.45
mambaout_base_short_rw.sw_e500_in1k28884.83297.2788.83
mambaout_base.in1k28884.7296.9384.81
mambaout_small_rw.sw_e450_in1k28884.59897.09848.5
mambaout_small.in1k28884.596.97448.49
mambaout_base_wide_rw.sw_e500_in1k22484.45496.86494.45
mambaout_base_tall_rw.sw_e500_in1k22484.43496.95886.48
mambaout_base_short_rw.sw_e500_in1k22484.36296.95288.83
mambaout_base.in1k22484.16896.6884.81
mambaout_small.in1k22484.08696.6348.49
mambaout_small_rw.sw_e450_in1k22484.02496.75248.5
mambaout_tiny.in1k28883.44896.53826.55
mambaout_tiny.in1k22482.73696.126.55
mambaout_kobe.in1k28881.05495.7189.14
mambaout_kobe.in1k22479.98694.9869.14
mambaout_femto.in1k28879.84895.147.3
mambaout_femto.in1k22478.8794.4087.3

Sep 2024

21 Agustus 2024

  • Model SBB ViT yang diperbarui, dilatih pada ImageNet-12k dan disempurnakan pada ImageNet-1k, menantang sejumlah besar model yang jauh lebih besar dan lebih lambat
modeltop1top5param_countimg_size
vit_mediumd_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k87.43898.25664.11384
vit_mediumd_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k86.60897.93464.11256
vit_betwixt_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k86.59498.0260.4384
vit_betwixt_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k85.73497.6160.4256
  • Bobot MobileNet-V1 1.25, EfficientNet-B1, & ResNet50-D dengan resep tantangan baseline MNV4
modeltop1top5param_countimg_size
resnet50d.ra4_e3600_r224_in1k81.83895.92225.58288
efficientnet_b1.ra4_e3600_r240_in1k81.44095.7007.79288
resnet50d.ra4_e3600_r224_in1k80.95295.38425.58224
efficientnet_b1.ra4_e3600_r240_in1k80.40695.1527.79240
mobilenetv1_125.ra4_e3600_r224_in1k77.60093.8046.27256
mobilenetv1_125.ra4_e3600_r224_in1k76.92493.2346.27224
  • Tambahkan dukungan arsitektur backbone & pemuatan bobot SAM2 (HieraDet)
  • Tambahkan bobot Hiera Small yang dilatih dengan pos embed abswin pada in12k & disempurnakan pada 1k
modeltop1top5param_count
hiera_small_abswin_256.sbb2_e200_in12k_ft_in1k84.91297.26035.01
hiera_small_abswin_256.sbb2_pd_e200_in12k_ft_in1k84.56097.10635.01

8 Agustus 2024

28 Juli 2024

  • Tambahkan bobot mobilenet_edgetpu_v2_m dengan resep berbasis ra4 mnv4-small. 80,1% top-1 @ 224 dan 80,7 @ 256.
  • Rilis 1.0.8

26 Juli 2024

  • Lebih banyak bobot MobileNet-v4, pralatih ImageNet-12k dengan penyesuaian halus, dan model ConvLarge anti-alias
modeltop1top1_errtop5top5_errparam_countimg_size
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k84.9915.0197.2942.70632.59544
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k84.77215.22897.3442.65632.59480
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k84.6415.3697.1142.88632.59448
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k84.31415.68697.1022.89832.59384
mobilenetv4_conv_aa_large.e600_r384_in1k83.82416.17696.7343.26632.59480
mobilenetv4_conv_aa_large.e600_r384_in1k83.24416.75696.3923.60832.59384
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k82.9917.0196.673.3311.07320
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k82.36417.63696.2563.74411.07256
modeltop1top1_errtop5top5_errparam_countimg_size
efficientnet_b0.ra4_e3600_r224_in1k79.36420.63694.7545.2465.29256
efficientnet_b0.ra4_e3600_r224_in1k78.58421.41694.3385.6625.29224
mobilenetv1_100h.ra4_e3600_r224_in1k76.59623.40493.2726.7285.28256
mobilenetv1_100.ra4_e3600_r224_in1k76.09423.90693.0046.9964.23256
mobilenetv1_100h.ra4_e3600_r224_in1k75.66224.33892.5047.4965.28224
mobilenetv1_100.ra4_e3600_r224_in1k75.38224.61892.3127.6884.23224
  • Prototipe set_input_size() ditambahkan ke model vit dan swin v1/v2 untuk memungkinkan perubahan ukuran gambar, ukuran patch, dan ukuran window setelah model dibuat.
  • Dukungan yang ditingkatkan di swin untuk penanganan ukuran yang berbeda; selain set_input_size, argumen always_partition dan strict_img_size telah ditambahkan ke __init__ untuk memungkinkan batasan ukuran input yang lebih fleksibel
  • Perbaiki informasi indeks yang tidak berurutan untuk pembungkus fitur 'Getter' perantara, periksa indeks keluar atau rentang indeks untuk hal yang sama.
  • Tambahkan beberapa model tiny < .5M param untuk pengujian yang benar-benar dilatih pada ImageNet-1k
modeltop1top1_errtop5top5_errparam_countimg_sizecrop_pct
test_efficientnet.r160_in1k47.15652.84471.72628.2740.361921.0
test_byobnet.r160_in1k46.69853.30271.67428.3260.461921.0
test_efficientnet.r160_in1k46.42653.57470.92829.0720.361600.875
test_byobnet.r160_in1k45.37854.62270.57229.4280.461600.875
test_vit.r160_in1k42.058.068.66431.3360.371921.0
test_vit.r160_in1k40.82259.17867.21232.7880.371600.875
  • Perbaiki inisialisasi token reg vit, terima kasih Promisery
  • Perbaikan lain yang beragam

24 Juni 2024

  • 3 bobot MobileNetV4 hybrid lainnya dengan skema inisialisasi bobot MQA yang berbeda
modeltop1top1_errtop5top5_errparam_countimg_size
mobilenetv4_hybrid_large.ix_e600_r384_in1k84.35615.64496.8923.10837.76448
mobilenetv4_hybrid_large.ix_e600_r384_in1k83.99016.01096.7023.29837.76384
mobilenetv4_hybrid_medium.ix_e550_r384_in1k83.39416.60696.7603.24011.07448
mobilenetv4_hybrid_medium.ix_e550_r384_in1k82.96817.03296.4743.52611.07384
mobilenetv4_hybrid_medium.ix_e550_r256_in1k82.49217.50896.2783.72211.07320
mobilenetv4_hybrid_medium.ix_e550_r256_in1k81.44618.55495.7044.29611.07256
  • pemuatan bobot florence2 pada model DaViT

12 Juni 2024

  • Model MobileNetV4 dan set awal bobot yang dilatih dengan timm ditambahkan:
modeltop1top1_errtop5top5_errparam_countimg_size
mobilenetv4_hybrid_large.e600_r384_in1k84.26615.73496.9363.06437.76448
mobilenetv4_hybrid_large.e600_r384_in1k83.80016.20096.7703.23037.76384
mobilenetv4_conv_large.e600_r384_in1k83.39216.60896.6223.37832.59448
mobilenetv4_conv_large.e600_r384_in1k82.95217.04896.2663.73432.59384
mobilenetv4_conv_large.e500_r256_in1k82.67417.32696.313.6932.59320
mobilenetv4_conv_large.e500_r256_in1k81.86218.13895.694.3132.59256
mobilenetv4_hybrid_medium.e500_r224_in1k81.27618.72495.7424.25811.07256
mobilenetv4_conv_medium.e500_r256_in1k80.85819.14295.7684.2329.72320
mobilenetv4_hybrid_medium.e500_r224_in1k80.44219.55895.384.6211.07224
mobilenetv4_conv_blur_medium.e500_r224_in1k80.14219.85895.2984.7029.72256
mobilenetv4_conv_medium.e500_r256_in1k79.92820.07295.1844.8169.72256
mobilenetv4_conv_medium.e500_r224_in1k79.80820.19295.1864.8149.72256
mobilenetv4_conv_blur_medium.e500_r224_in1k79.43820.56294.9325.0689.72224
mobilenetv4_conv_medium.e500_r224_in1k79.09420.90694.775.239.72224
mobilenetv4_conv_small.e2400_r224_in1k74.61625.38492.0727.9283.77256
mobilenetv4_conv_small.e1200_r224_in1k74.29225.70892.1167.8843.77256
mobilenetv4_conv_small.e2400_r224_in1k73.75626.24491.4228.5783.77224
mobilenetv4_conv_small.e1200_r224_in1k73.45426.54691.348.663.77224
  • Dukungan dan bobot untuk model menara gambar Apple MobileCLIP (https://arxiv.org/pdf/2311.17049, FastViT dan ViT-B) ditambahkan (sebagian dari dukungan OpenCLIP).
  • Model menara gambar CLIP ViTamin (https://arxiv.org/abs/2404.02132) & bobot ditambahkan (sebagian dari dukungan OpenCLIP).
  • Modeling & dukungan bobot menara gambar ResNet yang dimodifikasi dari OpenAI CLIP (melalui ByobNet). Refactor AttentionPool2d.

14 Mei 2024

  • Mendukung pemuatan bobot PaliGemma jax ke dalam model SigLIP ViT dengan average pooling.
  • Tambahkan model Hiera dari Meta (https://github.com/facebookresearch/hiera).
  • Tambahkan flag normalize= untuk transformasi, kembalikan torch.Tensor yang tidak dinormalisasi dengan dtype asli (untuk chug)
  • Rilis Versi 1.0.3

11 Mei 2024

  • Searching for Better ViT Baselines (For the GPU Poor) bobot dan varian vit dirilis. Menjelajahi bentuk model antara Tiny dan Base.
modeltop1top5param_countimg_size
vit_mediumd_patch16_reg4_gap_256.sbb_in12k_ft_in1k86.20297.87464.11256
vit_betwixt_patch16_reg4_gap_256.sbb_in12k_ft_in1k85.41897.4860.4256
vit_mediumd_patch16_rope_reg1_gap_256.sbb_in1k84.32296.81263.95256
vit_betwixt_patch16_rope_reg4_gap_256.sbb_in1k83.90696.68460.23256
vit_base_patch16_rope_reg1_gap_256.sbb_in1k83.86696.6786.43256
vit_medium_patch16_rope_reg1_gap_256.sbb_in1k83.8196.82438.74256
vit_betwixt_patch16_reg4_gap_256.sbb_in1k83.70696.61660.4256
vit_betwixt_patch16_reg1_gap_256.sbb_in1k83.62896.54460.4256
vit_medium_patch16_reg4_gap_256.sbb_in1k83.4796.62238.88256
vit_medium_patch16_reg1_gap_256.sbb_in1k83.46296.54838.88256
vit_little_patch16_reg4_gap_256.sbb_in1k82.51496.26222.52256
vit_wee_patch16_reg1_gap_256.sbb_in1k80.25695.36013.42256
vit_pwee_patch16_reg1_gap_256.sbb_in1k80.07295.13615.25256
vit_mediumd_patch16_reg4_gap_256.sbb_in12kN/AN/A64.11256
vit_betwixt_patch16_reg4_gap_256.sbb_in12kN/AN/A60.4256
  • AttentionExtract helper ditambahkan untuk mengekstrak peta perhatian dari model timm. Lihat contoh di https://github.com/huggingface/pytorch-image-models/discussions/1232#discussioncomment-9320949
  • API forward_intermediates() disempurnakan dan ditambahkan ke lebih banyak model, termasuk beberapa ConvNet yang memiliki metode ekstraksi lain.
  • 1017 dari 1047 arsitektur model mendukung ekstraksi fitur features_only=True. 34 arsitektur sisanya dapat didukung, tetapi berdasarkan permintaan prioritas.
  • Hapus fungsi yang di-annotate dengan torch.jit.script, termasuk aktivasi JIT lama. Fungsi ini berkonflik dengan dynamo, dan dynamo melakukan pekerjaan yang jauh lebih baik saat digunakan.

11 April 2024

  • Menjelang rilis 1.0 yang sudah lama tertunda, semuanya telah stabil selama beberapa waktu.
  • Fitur penting yang sudah lama hilang, dukungan features_only=True untuk model ViT dengan hidden states datar atau tata letak modul non-standar (sejauh ini mencakup 'vit_*', 'twins_*', 'deit*', 'beit*', 'mvitv2*', 'eva*', 'samvit_*', 'flexivit*')
  • Dukungan fitur di atas dicapai melalui API baru forward_intermediates() yang dapat digunakan dengan modul pembungkus fitur atau secara langsung.
model = timm.create_model('vit_base_patch16_224')
final_feat, intermediates = model.forward_intermediates(input)
output = model.forward_head(final_feat)  # pooling + classifier head

print(final_feat.shape)
torch.Size([2, 197, 768])

for f in intermediates:
    print(f.shape)
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])
torch.Size([2, 768, 14, 14])

print(output.shape)
torch.Size([2, 1000])
model = timm.create_model('eva02_base_patch16_clip_224', pretrained=True, img_size=512, features_only=True, out_indices=(-3, -2,))
output = model(torch.randn(2, 3, 512, 512))

for o in output:
    print(o.shape)
torch.Size([2, 768, 32, 32])
torch.Size([2, 768, 32, 32])
  • Bobot menara visual TinyCLIP ditambahkan, terima kasih Thien Tran

19 Feb 2024

  • Model Next-ViT ditambahkan. Diadaptasi dari https://github.com/bytedance/Next-ViT
  • Model HGNet dan PP-HGNetV2 ditambahkan. Diadaptasi dari https://github.com/PaddlePaddle/PaddleClas oleh SeeFun
  • Menghapus setup.py, beralih ke build berbasis pyproject.toml yang didukung oleh PDM
  • Tambahkan implementasi model EMA yang diperbarui menggunakan _for_each untuk mengurangi overhead
  • Dukungan argumen perangkat dalam skrip pelatihan untuk perangkat non-GPU
  • Perbaikan lain yang beragam dan penambahan kecil
  • Versi Python minimum yang didukung ditingkatkan menjadi 3.8
  • Rilis 0.9.16

8 Jan 2024

Refactoring dataset & transform

  • Dukungan dataset streaming (iterable) HuggingFace (--dataset hfids:org/dataset)
  • Penyesuaian wrapper Webdataset untuk pengambilan informasi split yang lebih baik, dapat mengambil split secara otomatis dari webdataset hub HF yang didukung
  • Uji coba datasets HF dan wrapper webdataset untuk streaming dari HF hub dengan unggahan ImageNet timm terbaru ke https://huggingface.co/timm
  • Jadikan kunci kolom/field input & target konsisten di seluruh dataset dan lewati melalui args
  • Dukungan monokrom penuh saat menggunakan e:g: --input-size 1 224 224 atau --in-chans 1, mengatur konversi gambar PIL dengan tepat di dataset
  • Memperbaiki beberapa transformasi crop & resize alternatif (ResizeKeepRatio, RandomCropOrPad, dll) untuk digunakan dalam proyek document AI PixParse
  • Tambahkan probabilitas color jitter bergaya SimCLR bersama dengan opsi grayscale dan gaussian blur ke augmentations dan args
  • Izinkan pelatihan tanpa set validasi (--val-split '') dalam skrip pelatihan
  • Tambahkan argumen --bce-sum (penjumlahan pada dimensi kelas) dan --bce-pos-weight (penimbangan positif) untuk pelatihan, karena ini adalah penyesuaian umum pada loss BCE yang sering kali saya hardcode

23 Nov 2023

  • Model EfficientViT-Large ditambahkan, terima kasih SeeFun
  • Perbaiki kompatibilitas Python 3.7, dukungan untuknya akan segera dihentikan
  • Perbaikan lain yang beragam
  • Rilis 0.9.12

20 Nov 2023

3 Nov 2023

20 Okt 2023

  • SigLIP bobot image tower yang didukung di vision_transformer.py.
    • Potensi besar untuk fine-tune dan penggunaan fitur downstream.
  • Dukungan 'register' eksperimental pada model vit sesuai dengan Vision Transformers Need Registers
  • RepViT diperbarui dengan rilis bobot baru. Terima kasih wangao
  • Tambahkan dukungan pengubahan ukuran patch (pada pemuatan bobot pra-terlatih) ke model Swin
  • Rilis 0.9.8 tertunda

1 September 2023

  • TinyViT ditambahkan oleh SeeFun
  • Perbaiki EfficientViT (MIT) agar menggunakan torch.autocast sehingga dapat berfungsi hingga PT 1.10
  • Rilis 0.9.7

28 Agustus 2023

  • Tambahkan dukungan ukuran img dinamis ke model di vision_transformer.py, vision_transformer_hybrid.py, deit.py, dan eva.py tanpa merusak kompatibilitas mundur. Tambahkan dynamic_img_size=True ke args saat pembuatan model untuk memungkinkan perubahan ukuran grid (interpolasi pos embed abs dan/atau ROPE setiap forward pass). Tambahkan dynamic_img_pad=True untuk memungkinkan ukuran gambar yang tidak habis dibagi ukuran patch (pad kanan bawah ke ukuran patch setiap forward pass). Mengaktifkan salah satu mode dinamis akan merusak FX tracing kecuali modul PatchEmbed ditambahkan sebagai daun. Metode existing untuk mengubah ukuran position embedding dengan meneruskan img_size yang berbeda (interpolasi bobot embed pretrained sekali) saat pembuatan masih berfungsi. Metode existing untuk mengubah patch_size (resize bobot patch_embed pretrained sekali) saat pembuatan masih berfungsi. Contoh cmd validasi python validate.py --data-dir /imagenet --model vit_base_patch16_224 --amp --amp-dtype bfloat16 --img-size 255 --crop-pct 1.0 --model-kwargs dynamic_img_size=True dyamic_img_pad=True
    • Tambahkan dynamic_img_size=True ke args saat pembuatan model untuk memungkinkan perubahan ukuran grid (interpolasi abs dan/atau ROPE pos embed pada setiap forward pass).
    • Tambahkan dynamic_img_pad=True untuk mengizinkan ukuran gambar yang tidak habis dibagi oleh ukuran patch (menambahkan padding di kanan bawah hingga ukuran patch pada setiap forward pass).
    • Mengaktifkan salah satu mode dinamis akan merusak pelacakan FX kecuali modul PatchEmbed ditambahkan sebagai daun.
    • Metode yang ada untuk mengubah ukuran posisi embedding dengan meneruskan img_size yang berbeda (menginterpolasi bobot embed yang telah dilatih sekali) saat pembuatan masih berfungsi.
    • Metode yang ada untuk mengubah patch_size (mengubah ukuran bobot pretrained patch_embed sekali) saat pembuatan masih berfungsi.
    • Contoh cmd validasi python validate.py --data-dir /imagenet --model vit_base_patch16_224 --amp --amp-dtype bfloat16 --img-size 255 --crop-pct 1.0 --model-kwargs dynamic_img_size=True dyamic_img_pad=True

25 Agustus 2023

11 Agustus 2023

  • Model Swin, MaxViT, CoAtNet, dan BEiT mendukung pengubahan ukuran gambar/jendela saat pembuatan dengan adaptasi bobot pretrained
  • Contoh cmd validasi untuk menguji dengan resize non-persegi python validate.py --data-dir /imagenet --model swin_base_patch4_window7_224.ms_in22k_ft_in1k --amp --amp-dtype bfloat16 --input-size 3 256 320 --model-kwargs window_size=8,10 img_size=256,320

3 Agu 2023

  • Tambahkan bobot GluonCV untuk HRNet w18_small dan w18_small_v2. Dikonversi oleh SeeFun
  • Perbaiki regresi penamaan model selecsls*
  • Patch dan position embedding untuk ViT/EVA berfungsi untuk bobot bfloat16/float16 saat dimuat (atau aktivasi untuk resize on-the-fly)
  • Persiapan rilis v0.9.5

27 Juli 2023

  • Ditambahkan bobot seresnextaa201d_32x8d.sw_in12k_ft_in1k_384 yang dilatih dengan timm (dan pralatih .sw_in12k) dengan top-1 87,3% pada ImageNet-1k, model keluarga ResNet ImageNet terbaik yang saya ketahui.
  • Model dan bobot RepViT (https://arxiv.org/abs/2307.09283) ditambahkan oleh wangao
  • Bobot fitur I-JEPA ViT (tanpa klasifikator) yang ditambahkan oleh SeeFun
  • Bobot fitur SAM-ViT (segment anything) (tanpa klasifikator) yang ditambahkan oleh SeeFun
  • Tambahkan dukungan untuk metode ekstraksi fitur alternatif dan indeks negatif ke EfficientNet
  • Tambahkan optimizer NAdamW
  • Perbaikan lain

11 Mei 2023

  • timm 0.9 dirilis, transisi dari rilis 0.8.xdev

10 Mei 2023

  • Unduhan dari Hugging Face Hub kini menjadi bawaan, 1132 model di https://huggingface.co/timm, 1163 bobot di timm
  • Bobot backbone fitur DINOv2 vit ditambahkan berkat Leng Yue
  • Bobot backbone fitur vit MAE FB ditambahkan
  • Bobot backbone fitur OpenCLIP DataComp-XL L/14 ditambahkan
  • MetaFormer (poolformer-v2, caformer, convformer, poolformer yang diperbarui (v1)) dengan bobot yang ditambahkan oleh Fredo Guan
  • Fungsi eksperimental get_intermediate_layers pada model vit/deit untuk mengambil hidden states (terinspirasi dari implementasi DINO). Ini masih WIP dan dapat berubah secara signifikan… masukan sangat diterima.
  • Pembuatan model melempar error jika pretrained=True dan tidak ada bobot yang ada (alih-alih melanjutkan dengan inisialisasi acak)
  • Perbaiki regresi dengan bobot TF yang bersumber dari inception / nasnet dengan 1001 kelas di klasifikasi asli
  • Optimizer bitsandbytes (https://github.com/TimDettmers/bitsandbytes) ditambahkan ke factory, gunakan awalan bnb, misalnya bnbadam8bit
  • Pembersihan dan perbaikan lainnya
  • Pengujian akhir sebelum beralih ke 0.9 dan mengeluarkan timm dari status pra-rilis

27 April 2023

  • 97% model timm yang diunggah ke HF Hub dan hampir semua diperbarui untuk mendukung konfigurasi pralatih multi-berat
  • Pembersihan dan refactoring kecil untuk batch model lainnya seiring dengan penambahan multi-weight. Dukungan lebih banyak untuk fused_attn (F.sdpa) dan features_only, serta perbaikan torchscript.

21 April 2023

  • Dukungan akumulasi gradien ditambahkan ke skrip pelatihan dan telah diuji (--grad-accum-steps), terima kasih Taeksang Kim
  • Lebih banyak bobot di HF Hub (cspnet, cait, volo, xcit, tresnet, hardcorenas, densenet, dpn, vovnet, xception_aligned)
  • Menambahkan --head-init-scale dan --head-init-bias ke train.py untuk menskalakan classiifer head dan mengatur bias tetap untuk fine-tune
  • Hapus semua penggunaan InplaceABN (inplace_abn), ganti penggunaan di tresnet dengan BatchNorm standar (modifikasi bobot sesuai).

12 April 2023

  • Tambahkan skrip ekspor ONNX, skrip validasi, dan helper yang sudah saya simpan selama lama. Sesuaikan padding 'same' untuk ekspor yang lebih baik dengan ONNX + pytorch terbaru.
  • Refactor argumen dropout untuk model vit dan model serupa vit, pisahkan drop_rate menjadi drop_rate (dropout classifier), proj_drop_rate (proyeksi mlp / keluaran blok), pos_drop_rate (dropout embedding posisi), attn_drop_rate (dropout perhatian). Tambahkan juga patch dropout (FLIP) ke model vit dan eva.
  • dukungan fused F.scaled_dot_product_attention untuk lebih banyak model vit, tambahkan variabel lingkungan (TIMM_FUSED_ATTN) untuk mengontrol, dan antarmuka konfigurasi untuk mengaktifkan/menonaktifkan
  • Tambahkan backbone EVA-CLIP dengan bobot menara gambar, hingga model 'enormous' 4B parameter, serta mode OpenAI ViT 336x336 yang terlewat.

5 April 2023

  • Semua model ResNet yang diunggah ke Hugging Face Hub dengan dukungan multi-berat
  • Fine-tune baru ImageNet-12k + ImageNet-1k tersedia untuk beberapa model ResNet anti-alias
    • resnetaa50d.sw_in12k_ft_in1k - 81.7 @ 224, 82.6 @ 288
    • resnetaa101d.sw_in12k_ft_in1k - 83.5 @ 224, 84.1 @ 288
    • seresnextaa101d_32x8d.sw_in12k_ft_in1k - 86.0 @ 224, 86.5 @ 288
    • seresnextaa101d_32x8d.sw_in12k_ft_in1k_288 - 86.5 @ 288, 86.7 @ 320

31 Maret 2023

  • Tambahkan fine-tune pertama ConvNext-XXLarge CLIP -> IN-1k dan fine-tune intermediate IN-12k untuk model CLIP convnext-base/large.
modeltop1top5img_sizeparam_countgmacsmacts
convnext_xxlarge.clip_laion2b_soup_ft_in1k88.61298.704256846.47198.09124.45
convnext_large_mlp.clip_laion2b_soup_ft_in12k_in1k_38488.31298.578384200.13101.11126.74
convnext_large_mlp.clip_laion2b_soup_ft_in12k_in1k_32087.96898.47320200.1370.2188.02
convnext_base.clip_laion2b_augreg_ft_in12k_in1k_38487.13898.21238488.5945.2184.49
convnext_base.clip_laion2b_augreg_ft_in12k_in1k86.34497.9725688.5920.0937.55
  • Tambahkan bobot pra-terlatih dan terlatih penuh EVA-02 MIM, unggah ke HF hub, dan perbarui kartu model untuk semua model EVA. Model pertama yang mencapai lebih dari 90% top-1 (99% top-5)! Lihat kode asli & bobot di https://github.com/baaivision/EVA untuk detail lebih lanjut tentang pekerjaan mereka yang menggabungkan MIM, CLIP dengan banyak penyesuaian model, dataset, dan resep pelatihan.
modeltop1top5param_countimg_size
eva02_large_patch14_448.mim_m38m_ft_in22k_in1k90.05499.042305.08448
eva02_large_patch14_448.mim_in22k_ft_in22k_in1k89.94699.01305.08448
eva_giant_patch14_560.m30m_ft_in22k_in1k89.79298.9921014.45560
eva02_large_patch14_448.mim_in22k_ft_in1k89.62698.954305.08448
eva02_large_patch14_448.mim_m38m_ft_in1k89.5798.918305.08448
eva_giant_patch14_336.m30m_ft_in22k_in1k89.5698.9561013.01336
eva_giant_patch14_336.clip_ft_in1k89.46698.821013.01336
eva_large_patch14_336.in22k_ft_in22k_in1k89.21498.854304.53336
eva_giant_patch14_224.clip_ft_in1k88.88298.6781012.56224
eva02_base_patch14_448.mim_in22k_ft_in22k_in1k88.69298.72287.12448
eva_large_patch14_336.in22k_ft_in1k88.65298.722304.53336
eva_large_patch14_196.in22k_ft_in22k_in1k88.59298.656304.14196
eva02_base_patch14_448.mim_in22k_ft_in1k88.2398.56487.12448
eva_large_patch14_196.in22k_ft_in1k87.93498.504304.14196
eva02_small_patch14_336.mim_in22k_ft_in1k85.7497.61422.13336
eva02_tiny_patch14_336.mim_in22k_ft_in1k80.65895.5245.76336
  • Multi-weight dan HF hub untuk model berbasis DeiT dan MLP-Mixer

22 Maret 2023

  • Lebih banyak bobot didorong ke HF hub bersama dengan dukungan multi-bobot, termasuk: regnet.py, rexnet.py, byobnet.py, resnetv2.py, swin_transformer.py, swin_transformer_v2.py, swin_transformer_v2_cr.py
  • Model Swin Transformer mendukung ekstraksi fitur (peta fitur NCHW untuk swinv2_cr_*, dan NHWC untuk semua lainnya) serta output embedding spasial.
  • Model dan bobot FocalNet (dari https://github.com/microsoft/FocalNet) ditambahkan dengan refactoring signifikan, ekstraksi fitur, tanpa resolusi / batasan ukuran tetap
  • Bobot RegNet bertambah dengan push ke HF hub, SWAG, SEER, dan bobot torchvision v2. SEER cukup buruk dalam hal performa untuk ukuran modelnya, tetapi mungkin berguna.
  • Lebih banyak pralatihan ImageNet-12k dan penyesuaian halus 1k timm bobot:
    • rexnetr_200.sw_in12k_ft_in1k - 82.6 @ 224, 83.2 @ 288
    • rexnetr_300.sw_in12k_ft_in1k - 84.0 @ 224, 84.5 @ 288
    • regnety_120.sw_in12k_ft_in1k - 85.0 @ 224, 85.4 @ 288
    • regnety_160.lion_in12k_ft_in1k - 85.6 @ 224, 86.0 @ 288
    • regnety_160.sw_in12k_ft_in1k - 85.6 @ 224, 86.0 @ 288 (dibandingkan dengan SWAG PT + 1k FT, ini sama TAPI dengan resolusi jauh lebih rendah, mengalahkan SEER FT)
  • Fungsionalitas penonaktifan dan pemetaan ulang nama model ditambahkan (sebuah tonggak penting untuk mengeluarkan 0.8.x dari prarilis). Pemetaan sedang ditambahkan…
  • Perbaikan bug minor dan peningkatan.

26 Feb 2023

  • Tambahkan bobot menara gambar pralatih ConvNeXt-XXLarge CLIP untuk fine-tune & fitur (fine-tuning TBD) — lihat model card
  • Perbarui nilai eps LayerNorm default convnext_xxlarge menjadi 1e-5 (untuk bobot CLIP, stabilitas yang lebih baik)
  • 0.8.15dev0

20 Feb 2023

  • Tambahkan bobot menara gambar CLIP 320x320 convnext_large_mlp.clip_laion2b_ft_320 dan convnext_large_mlp.clip_laion2b_ft_soup_320 untuk fitur & penyesuaian halus
  • 0.8.13dev0 rilis pypi untuk perubahan terbaru w/ perpindahan ke huggingface org

16 Feb 2023

  • Dukungan checkpoint safetensor ditambahkan
  • Tambahkan ide dari ‘Scaling Vision Transformers to 22 B. Params’ (https://arxiv.org/abs/2302.05442) — qk norm, RmsNorm, parallel block
  • Tambahkan dukungan F.scaleddot_product_attention (hanya PyTorch 2.0) ke `vit,vit_relpos,coatnet/maxxvit` (sebagai awal)
  • Optimizer Lion (dengan opsi multi-tensor) ditambahkan (https://arxiv.org/abs/2302.06675)
  • gradient checkpointing berfungsi dengan features_only=True

7 Feb 2023

  • Angka benchmark inferensi baru ditambahkan di folder results.
  • Tambahkan bobot terlatih convnext LAION CLIP dan set awal fine-tune in1k
    • convnext_base.clip_laion2b_augreg_ft_in1k - 86.2% @ 256x256
    • convnext_base.clip_laiona_augreg_ft_in1k_384 - 86.5% @ 384x384
    • convnext_large_mlp.clip_laion2b_augreg_ft_in1k - 87.3% @ 256x256
    • convnext_large_mlp.clip_laion2b_augreg_ft_in1k_384 - 87.9% @ 384x384
  • Tambahkan model DaViT. Mendukung features_only=True. Diadaptasi dari https://github.com/dingmyu/davit oleh Fredo.
  • Gunakan NormMlpClassifierHead yang sama di MaxViT, ConvNeXt, dan DaViT
  • Tambahkan model EfficientFormer-V2, perbarui EfficientFormer, dan refaktori LeViT (arsitektur yang sangat terkait). Bobot tersedia di HF hub.
    • Arsitektur EfficientFormer-V2 baru, refactoring signifikan dari versi aslinya di (https://github.com/snap-research/EfficientFormer). Mendukung features_only=True.
    • Pembaruan minor pada EfficientFormer.
    • Refactor model LeViT menjadi stages, tambahkan dukungan features_only=True ke varian conv baru, remap bobot diperlukan.
  • Pindahkan meta-data ImageNet (synsets, indeks) dari /results ke timm/data/_info.
  • Tambahkan kelas ImageNetInfo / DatasetInfo untuk menyediakan pelabelan bagi berbagai tata letak klasifikasi ImageNet di timm
    • Perbarui inference.py untuk menggunakan, coba: python inference.py --data-dir /folder/to/images --model convnext_small.in12k --label-type detail --topk 5
  • Siap untuk prarelease 0.8.10 pypi (pengujian akhir).

20 Jan 2023

  • Tambahkan dua fine-tune convnext 12k -> 1k pada 384x384

    • convnext_tiny.in12k_ft_in1k_384 - 85.1 @ 384
    • convnext_small.in12k_ft_in1k_384 - 86.2 @ 384
  • Dorong semua bobot MaxxViT ke HF hub, dan tambahkan fine-tune baru ImageNet-12k -> 1k untuk model rw base MaxViT dan CoAtNet 1/2

modeltop1top5sampel / detikParameter (M)GMACAct (M)
maxvit_xlarge_tf_512.in21k_ft_in1k88.5398.6421.76475.77534.141413.22
maxvit_xlarge_tf_384.in21k_ft_in1k88.3298.5442.53475.32292.78668.76
maxvit_base_tf_512.in21k_ft_in1k88.2098.5350.87119.88138.02703.99
maxvit_large_tf_512.in21k_ft_in1k88.0498.4036.42212.33244.75942.15
maxvit_large_tf_384.in21k_ft_in1k87.9898.5671.75212.03132.55445.84
maxvit_base_tf_384.in21k_ft_in1k87.9298.54104.71119.6573.80332.90
maxvit_rmlp_base_rw_384.sw_in12k_ft_in1k87.8198.37106.55116.1470.97318.95
maxxvitv2_rmlp_base_rw_384.sw_in12k_ft_in1k87.4798.37149.49116.0972.98213.74
coatnet_rmlp_2_rw_384.sw_in12k_ft_in1k87.3998.31160.8073.8847.69209.43
maxvit_rmlp_base_rw_224.sw_in12k_ft_in1k86.8998.02375.86116.1423.1592.64
maxxvitv2_rmlp_base_rw_224.sw_in12k_ft_in1k86.6498.02501.03116.0924.2062.77
maxvit_base_tf_512.in1k86.6097.9250.75119.88138.02703.99
coatnet_2_rw_224.sw_in12k_ft_in1k86.5797.89631.8873.8715.0949.22
maxvit_large_tf_512.in1k86.5297.8836.04212.33244.75942.15
coatnet_rmlp_2_rw_224.sw_in12k_ft_in1k86.4997.90620.5873.8815.1854.78
maxvit_base_tf_384.in1k86.2997.80101.09119.6573.80332.90
maxvit_large_tf_384.in1k86.2397.6970.56212.03132.55445.84
maxvit_small_tf_512.in1k86.1097.7688.6369.1367.26383.77
maxvit_tiny_tf_512.in1k85.6797.58144.2531.0533.49257.59
maxvit_small_tf_384.in1k85.5497.46188.3569.0235.87183.65
maxvit_tiny_tf_384.in1k85.1197.38293.4630.9817.53123.42
maxvit_large_tf_224.in1k84.9396.97247.71211.7943.68127.35
coatnet_rmlp_1_rw2_224.sw_in12k_ft_in1k84.9096.961025.4541.728.1140.13
maxvit_base_tf_224.in1k84.8596.99358.25119.4724.0495.01
maxxvit_rmlp_small_rw_256.sw_in1k84.6397.06575.5366.0114.6758.38
coatnet_rmlp_2_rw_224.sw_in1k84.6196.74625.8173.8815.1854.78
maxvit_rmlp_small_rw_224.sw_in1k84.4996.76693.8264.9010.7549.30
maxvit_small_tf_224.in1k84.4396.83647.9668.9311.6653.17
maxvit_rmlp_tiny_rw_256.sw_in1k84.2396.78807.2129.156.7746.92
coatnet_1_rw_224.sw_in1k83.6296.38989.5941.728.0434.60
maxvit_tiny_rw_224.sw_in1k83.5096.501100.5329.065.1133.11
maxvit_tiny_tf_224.in1k83.4196.591004.9430.925.6035.78
coatnet_rmlp_1_rw_224.sw_in1k83.3696.451093.0341.697.8535.47
maxxvitv2_nano_rw_256.sw_in1k83.1196.331276.8823.706.2623.05
maxxvit_rmlp_nano_rw_256.sw_in1k83.0396.341341.2416.784.3726.05
maxvit_rmlp_nano_rw_256.sw_in1k82.9696.261283.2415.504.4731.92
maxvit_nano_rw_256.sw_in1k82.9396.231218.1715.454.4630.28
coatnet_bn_0_rw_224.sw_in1k82.3996.191600.1427.444.6722.04
coatnet_0_rw_224.sw_in1k82.3995.841831.2127.444.4318.73
coatnet_rmlp_nano_rw_224.sw_in1k82.0595.872109.0915.152.6220.34
coatnext_nano_rw_224.sw_in1k81.9595.922525.5214.702.4712.80
coatnet_nano_rw_224.sw_in1k81.7095.642344.5215.142.4115.41
maxvit_rmlp_pico_rw_256.sw_in1k80.5395.211594.717.521.8524.86

11 Jan 2023

  • Perbarui seri pretrain ConvNeXt ImageNet-12k dengan dua bobot fine-tuned baru (dan pre FT .in12k tags)
    • convnext_nano.in12k_ft_in1k - 82.3 @ 224, 82.9 @ 288 (sebelumnya dirilis)
    • convnext_tiny.in12k_ft_in1k - 84.2 @ 224, 84.5 @ 288
    • convnext_small.in12k_ft_in1k - 85.2 @ 224, 85.3 @ 288

6 Jan 2023

  • Akhirnya sempat menambahkan --model-kwargs dan --opt-kwargs ke skrip untuk meneruskan argumen langka langsung ke kelas model dari baris perintah
    • train.py --data-dir /imagenet --model resnet50 --amp --model-kwargs output_stride=16 act_layer=silu
    • train.py --data-dir /imagenet --model vit_base_patch16_clip_224 --img-size 240 --amp --model-kwargs img_size=240 patch_size=12
  • Bersihkan beberapa model populer untuk mendukung penyaluran arg dengan lebih baik / gabungkan dengan konfigurasi model, masih ada yang akan datang.

5 Jan 2023

23 Des 2022 🎄☃

  • Tambahkan model dan bobot FlexiViT dari https://github.com/google-research/big_vision (lihat makalah di https://arxiv.org/abs/2212.08013)
    • NOTE saat ini resizing bersifat statis saat pembuatan model, sampling ukuran patch dinamis / pelatihan secara langsung masih dalam pengembangan
  • Banyak model lain yang telah diperbarui ke multi-weight dan dapat diunduh melalui HF hub saat ini (convnext, efficientnet, mobilenet, vision_transformer*, beit)
  • Tag pretrained model tambahan dan penyesuaian, beberapa nama model diubah (sedang mengerjakan terjemahan deprecation, pertimbangkan cabang DEV sebagai cabang utama saat ini, gunakan 0.6.x untuk penggunaan stabil)
  • Semakin banyak model pretrain ImageNet-12k (subset dari 22k) yang bermunculan:
    • efficientnet_b5.in12k_ft_in1k - 85.9 @ 448x448
    • vit_medium_patch16_gap_384.in12k_ft_in1k - 85.5 @ 384x384
    • vit_medium_patch16_gap_256.in12k_ft_in1k - 84.5 @ 256x256
    • convnext_nano.in12k_ft_in1k - 82.9 @ 288x288

8 Des 2022

  • Tambahkan ‘EVA l’ ke vision_transformer.py, prapelatihan MIM ViT-L/14 gaya MAE dengan target EVA-CLIP, FT pada ImageNet-1k (dengan ImageNet-22k sebagai perantara untuk beberapa)
modeltop1param_countgmacmactshub
eva_large_patch14_336.in22k_ft_in22k_in1k89.2304.5191.1270.2tautan
eva_large_patch14_336.in22k_ft_in1k88.7304.5191.1270.2tautan
eva_large_patch14_196.in22k_ft_in22k_in1k88.6304.161.663.5tautan
eva_large_patch14_196.in22k_ft_in1k87.9304.161.663.5tautan

6 Des 2022

modeltop1param_countgmacmactshub
eva_giant_patch14_560.m30m_ft_in22k_in1k89.81014.41906.82577.2tautan
eva_giant_patch14_336.m30m_ft_in22k_in1k89.61013620.6550.7tautan
eva_giant_patch14_336.clip_ft_in1k89.41013620.6550.7tautan
eva_giant_patch14_224.clip_ft_in1k89.11012.6267.2192.6tautan

5 Des 2022

  • Prarelease (0.8.0dev0) untuk dukungan multi-berat (model_arch.pretrained_tag). Instal dengan pip install --pre timm
    • vision_transformer, maxvit, convnext adalah tiga implementasi model pertama dengan dukungan
    • nama model akan berubah seiring dengan ini (fungsi _21k, dll. sebelumnya akan digabungkan), masih dalam proses mengatur penanganan deprecation
    • kemungkinan besar ada bug, tetapi saya membutuhkan umpan balik, jadi silakan coba
    • jika stabilitas diperlukan, silakan gunakan rilis pypi 0.6.x atau clone dari cabang 0.6.x
  • Dukungan untuk compile PyTorch 2.0 ditambahkan di train/validate/inference/benchmark, gunakan argumen --torchcompile
  • Skrip inferensi memungkinkan kontrol lebih besar atas output, pilih k untuk indeks kelas teratas + prob, output json, csv atau parquet
  • Tambahkan seperangkat lengkap bobot menara gambar CLIP yang telah disempurnakan dari kedua model LAION-2B dan model CLIP OpenAI asli
modeltop1param_countgmacmactshub
vit_huge_patch14_clip_336.laion2b_ft_in12k_in1k88.6632.5391407.5tautan
vit_large_patch14_clip_336.openai_ft_in12k_in1k88.3304.5191.1270.2tautan
vit_huge_patch14_clip_224.laion2b_ft_in12k_in1k88.2632167.4139.4tautan
vit_large_patch14_clip_336.laion2b_ft_in12k_in1k88.2304.5191.1270.2tautan
vit_large_patch14_clip_224.openai_ft_in12k_in1k88.2304.281.188.8tautan
vit_large_patch14_clip_224.laion2b_ft_in12k_in1k87.9304.281.188.8tautan
vit_large_patch14_clip_224.openai_ft_in1k87.9304.281.188.8tautan
vit_large_patch14_clip_336.laion2b_ft_in1k87.9304.5191.1270.2tautan
vit_huge_patch14_clip_224.laion2b_ft_in1k87.6632167.4139.4tautan
vit_large_patch14_clip_224.laion2b_ft_in1k87.3304.281.188.8tautan
vit_base_patch16_clip_384.laion2b_ft_in12k_in1k87.286.955.5101.6tautan
vit_base_patch16_clip_384.openai_ft_in12k_in1k8786.955.5101.6tautan
vit_base_patch16_clip_384.laion2b_ft_in1k86.686.955.5101.6tautan
vit_base_patch16_clip_384.openai_ft_in1k86.286.955.5101.6tautan
vit_base_patch16_clip_224.laion2b_ft_in12k_in1k86.286.617.623.9tautan
vit_base_patch16_clip_224.openai_ft_in12k_in1k85.986.617.623.9tautan
vit_base_patch32_clip_448.laion2b_ft_in12k_in1k85.888.317.923.9tautan
vit_base_patch16_clip_224.laion2b_ft_in1k85.586.617.623.9tautan
vit_base_patch32_clip_384.laion2b_ft_in12k_in1k85.488.313.116.5tautan
vit_base_patch16_clip_224.openai_ft_in1k85.386.617.623.9tautan
vit_base_patch32_clip_384.openai_ft_in12k_in1k85.288.313.116.5tautan
vit_base_patch32_clip_224.laion2b_ft_in12k_in1k83.388.24.45tautan
vit_base_patch32_clip_224.laion2b_ft_in1k82.688.24.45tautan
vit_base_patch32_clip_224.openai_ft_in1k81.988.24.45tautan
  • Porting bobot MaxViT Tensorflow dari implementasi resmi di https://github.com/google-research/maxvit
    • Terdapat penurunan yang lebih besar dari yang diharapkan pada bobot fine-tune in21k yang di-upscale ke 384/512, kemungkinan ada detail yang hilang, tetapi 21k FT memang tampak sensitif terhadap praproses kecil
modeltop1param_countgmacmactshub
maxvit_xlarge_tf_512.in21k_ft_in1k88.5475.8534.11413.2tautan
maxvit_xlarge_tf_384.in21k_ft_in1k88.3475.3292.8668.8tautan
maxvit_base_tf_512.in21k_ft_in1k88.2119.9138704tautan
maxvit_large_tf_512.in21k_ft_in1k88212.3244.8942.2tautan
maxvit_large_tf_384.in21k_ft_in1k88212132.6445.8tautan
maxvit_base_tf_384.in21k_ft_in1k87.9119.673.8332.9tautan
maxvit_base_tf_512.in1k86.6119.9138704tautan
maxvit_large_tf_512.in1k86.5212.3244.8942.2tautan
maxvit_base_tf_384.in1k86.3119.673.8332.9tautan
maxvit_large_tf_384.in1k86.2212132.6445.8tautan
maxvit_small_tf_512.in1k86.169.167.3383.8tautan
maxvit_tiny_tf_512.in1k85.73133.5257.6tautan
maxvit_small_tf_384.in1k85.56935.9183.6tautan
maxvit_tiny_tf_384.in1k85.13117.5123.4tautan
maxvit_large_tf_224.in1k84.9211.843.7127.4tautan
maxvit_base_tf_224.in1k84.9119.52495tautan
maxvit_small_tf_224.in1k84.468.911.753.2tautan
maxvit_tiny_tf_224.in1k83.430.95.635.8tautan

15 Okt 2022

  • Peningkatan skrip pelatihan dan validasi
  • Dukungan perangkat non-GPU (yaitu CPU)
  • Kompatibilitas SLURM untuk skrip pelatihan
  • Dukungan dataset HF (melalui ReaderHfds)
  • Perbaikan pemuatan data TFDS/WDS (padding/bungkus sampel untuk penggunaan terdistribusi diperbaiki terkait estimasi jumlah sampel)
  • dukungan in_chans !=3 untuk skrip / loader
  • Optimizer Adan
  • Dapat mengaktifkan penjadwalan LR per langkah melalui args
  • Dataset ‘parsers’ diubah namanya menjadi ‘readers’, lebih deskriptif terhadap tujuannya
  • Argumen AMP berubah, APEX melalui --amp-impl apex, bfloat16 didukung melalui --amp-dtype bfloat16
  • cabang utama beralih ke versi 0.7.x, 0.6x di-fork untuk rilis stabil dari weight only adds
  • penggantian nama branch master -> main

10 Okt 2022

  • Lebih banyak bobot di maxxvit seri, termasuk blok ConvNeXt pertama berbasis coatnext dan maxxvit eksperimen:
    • coatnext_nano_rw_224 - 82.0 @ 224 (G) — (menggunakan blok conv ConvNeXt, tanpa BatchNorm)
    • maxxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.7 @ 320 (G) (menggunakan blok conv ConvNeXt, tanpa BN)
    • maxvit_rmlp_small_rw_224 - 84.5 @ 224, 85.1 @ 320 (G)
    • maxxvit_rmlp_small_rw_256 - 84.6 @ 256, 84.9 @ 288 (G) — bisa dilatih lebih baik, hparams perlu penyetelan (menggunakan blok ConvNeXt, tanpa BN)
    • coatnet_rmlp_2_rw_224 - 84.6 @ 224, 85 @ 320 (T)
    • CATATAN: bobot resmi MaxVit (in1k) telah dirilis di https://github.com/google-research/maxvit — diperlukan sedikit pekerjaan tambahan untuk memindahkan dan menyesuaikan karena implementasi saya dibuat secara independen dari implementasi mereka dan memiliki beberapa perbedaan kecil + masalah padding yang sama di TF.

23 September 2022

  • Menara gambar LAION-2B CLIP didukung sebagai backbone pretrained untuk fine-tune atau ekstraksi fitur (tanpa classifier)
    • vit_base_patch32_224_clip_laion2b
    • vit_large_patch14_224_clip_laion2b
    • vit_huge_patch14_224_clip_laion2b
    • vit_giant_patch14_224_clip_laion2b

7 September 2022

  • Beranda dokumentasi timm Hugging Face kini tersedia, cari lebih banyak di sini di masa depan
  • Tambahkan bobot BEiT-v2 untuk model base dan large 224x224 dari https://github.com/microsoft/unilm/tree/master/beit2
  • Tambahkan lebih banyak bobot di maxxvit seri, termasuk pico (7.5M parameter, 1,9 GMACs), dua tiny varian:
    • maxvit_rmlp_pico_rw_256 - 80.5 @ 256, 81.3 @ 320 (T)
    • maxvit_tiny_rw_224 - 83.5 @ 224 (G)
    • maxvit_rmlp_tiny_rw_256 - 84.2 @ 256, 84.8 @ 320 (T)

29 Agustus 2022

  • Ukuran jendela MaxVit secara default berskala dengan img_size. Tambahkan bobot RelPosMlp MaxViT baru yang memanfaatkan hal ini:
    • maxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.6 @ 320 (T)

26 Agustus 2022

  • CoAtNet (https://arxiv.org/abs/2106.04803) dan MaxVit (https://arxiv.org/abs/2204.01697) timm model asli timm
  • Bobot pretrained awal CoAtNet dan MaxVit timm (sedang bekerja pada lebih banyak):
    • coatnet_nano_rw_224 - 81.7 @ 224 (T)
    • coatnet_rmlp_nano_rw_224 - 82.0 @ 224, 82.8 @ 320 (T)
    • coatnet_0_rw_224 - 82.4 (T) — CATATAN coatnets ‘0’ timm memiliki 2 blok tahap ke-3 tambahan
    • coatnet_bn_0_rw_224 - 82.4 (T)
    • maxvit_nano_rw_256 - 82.9 @ 256 (T)
    • coatnet_rmlp_1_rw_224 - 83.4 @ 224, 84 @ 320 (T)
    • coatnet_1_rw_224 - 83.6 @ 224 (G)
    • (T) = TPU yang dilatih dengan kode pelatihan cabang bits_and_tpu, (G) = GPU yang dilatih
  • GCVit (bobot diadaptasi dari https://github.com/NVlabs/GCVit, kode 100% ditulis ulang timm untuk keperluan lisensi)
  • MViT-V2 (multi-scale vit, diadaptasi dari https://github.com/facebookresearch/mvit)
  • EfficientFormer (diadaptasi dari https://github.com/snap-research/EfficientFormer)
  • PyramidVisionTransformer-V2 (diadaptasi dari https://github.com/whai362/PVT)
  • Dukungan ‘Fast Norm’ untuk LayerNorm dan GroupNorm yang menghindari upcast ke float32 dengan AMP (menggunakan APEX LN jika tersedia untuk peningkatan lebih lanjut)

15 Agustus 2022

  • Bobot ConvNeXt atto ditambahkan
    • convnext_atto - 75.7 @ 224, 77.0 @ 288
    • convnext_atto_ols - 75.9 @ 224, 77.2 @ 288

5 Agu 2022

  • Definisi model ConvNeXt kustom yang lebih kecil dengan bobot
    • convnext_femto - 77.5 @ 224, 78.7 @ 288
    • convnext_femto_ols - 77.9 @ 224, 78.9 @ 288
    • convnext_pico - 79.5 @ 224, 80.4 @ 288
    • convnext_pico_ols - 79.5 @ 224, 80.5 @ 288
    • convnext_nano_ols - 80.9 @ 224, 81.6 @ 288
  • EdgeNeXt diperbarui untuk meningkatkan ekspor ONNX, menambahkan varian dasar baru dan bobot dari versi asli (https://github.com/mmaaz60/EdgeNeXt)

28 Juli 2022

  • Tambahkan bobot model DeiT-III Medium (width=512, depth=12, num_heads=8) yang baru dibuat. Terima kasih Hugo Touvron!

27 Juli 2022

  • Semua file csv hasil benchmark dan validasi runtime akhirnya sudah diperbarui!
  • Beberapa bobot & definisi model tambahan:
    • darknetaa53 - 79.8 @ 256, 80.5 @ 288
    • convnext_nano - 80.8 @ 224, 81.5 @ 288
    • cs3sedarknet_l - 81.2 @ 256, 81.8 @ 288
    • cs3darknet_x - 81.8 @ 256, 82.2 @ 288
    • cs3sedarknet_x - 82.2 @ 256, 82.7 @ 288
    • cs3edgenet_x - 82.2 @ 256, 82.7 @ 288
    • cs3se_edgenet_x - 82.8 @ 256, 83.5 @ 320
  • Bobot cs3* di atas semuanya dilatih di TPU dengan cabang bits_and_tpu. Terima kasih kepada program TRC!
  • Tambahkan dukungan output_stride=8 dan 16 ke ConvNeXt (dilation)
  • Model deit3 yang tidak dapat mengubah ukuran pos_emb telah diperbaiki
  • Rilis PyPi Versi 0.6.7 (dengan perbaikan bug di atas dan bobot baru sejak 0.6.5)

8 Juli 2022

Lebih banyak model, lebih banyak perbaikan

  • Model penelitian resmi (dengan bobot) yang ditambahkan:
  • Model saya sendiri:
    • Definisi ResNet kecil ditambahkan atas permintaan dengan pengulangan 1 blok untuk basic dan bottleneck (resnet10 dan resnet14)
    • CspNet direfaktor dengan konfigurasi dataclass, opsi CrossStage3 (cs3) disederhanakan. Ini lebih mendekati definisi backbone YOLO-v5+.
    • Lebih banyak penyesuaian posisi relatif vit. Dua model srelpos (posisi relatif bersama) telah dilatih, dan satu medium dengan class token.
    • Tambahkan mode downsample alternatif ke EdgeNeXt dan latih model small. Lebih baik daripada small asli, tetapi tidak sebanding dengan bobot USI baru mereka.
  • Hasil bobot model saya sendiri (semua pelatihan ImageNet-1k)
    • resnet10t - 66.5 @ 176, 68.3 @ 224
    • resnet14t - 71.3 @ 176, 72.3 @ 224
    • resnetaa50 - 80.6 @ 224 , 81.6 @ 288
    • darknet53 - 80.0 @ 256, 80.5 @ 288
    • cs3darknet_m - 77.0 @ 256, 77.6 @ 288
    • cs3darknet_focus_m - 76.7 @ 256, 77.3 @ 288
    • cs3darknet_l - 80.4 @ 256, 80.9 @ 288
    • cs3darknet_focus_l - 80.3 @ 256, 80.9 @ 288
    • vit_srelpos_small_patch16_224 - 81.1 @ 224, 82.1 @ 320
    • vit_srelpos_medium_patch16_224 - 82.3 @ 224, 83.1 @ 320
    • vit_relpos_small_patch16_cls_224 - 82.6 @ 224, 83.6 @ 320
    • edgnext_small_rw - 79.6 @ 224, 80.4 @ 320
  • Bobot cs3, darknet, dan vit_*relpos di atas semuanya dilatih di TPU berkat program TRC! Sisanya dilatih di GPU yang kepanasan.
  • Perbaikan dukungan Hugging Face Hub telah diverifikasi, notebook demo TBA
  • Bobot / konfigurasi pralatih dapat dimuat secara eksternal (misalnya dari disk lokal) dengan dukungan adaptasi head.
  • Tambahkan dukungan untuk mengubah ekstensi gambar yang dipindai oleh dataset/pembaca timm. Lihat (https://github.com/rwightman/pytorch-image-models/pull/1274#issuecomment-1178303103)
  • Implementasi LayerNorm ConvNeXt default yang digunakan F.layer_norm(x.permute(0, 2, 3, 1), ...).permute(0, 3, 1, 2) melalui LayerNorm2d dalam semua kasus. Sedikit lebih lambat daripada implementasi kustom sebelumnya di beberapa perangkat keras (misalnya Ampere dengan CL), tetapi secara keseluruhan memiliki lebih sedikit regresi di berbagai rentang perangkat keras / versi PyTorch yang lebih luas. Implementasi sebelumnya tersedia sebagai LayerNormExp2d di models/layers/norm.py
    • sedikit lebih lambat daripada implementasi kustom sebelumnya pada beberapa perangkat keras (misalnya Ampere dengan CL), tetapi secara keseluruhan memiliki lebih sedikit regresi di berbagai rentang perangkat keras / versi PyTorch yang lebih luas.
    • implementasi sebelumnya ada sebagai LayerNormExp2d di models/layers/norm.py
  • Banyak perbaikan bug
  • Saat ini sedang menguji untuk rilis PyPi 0.6.x yang akan segera hadir
  • Pretraining model yang lebih besar untuk LeViT masih dalam tahap pengembangan (WIP); model tersebut tidak dapat dilatih dengan baik/mudah tanpa distilasi. Sudah saatnya untuk menambahkan dukungan distilasi (akhirnya)?
  • Pelatihan bobot ImageNet-22k + finetune sedang berlangsung, pekerjaan untuk dukungan multi-bobot (pelan-pelan) terus berjalan (ada BANYAK bobot, helaan napas) …

13 Mei 2022

  • Model dan bobot Swin-V2 resmi ditambahkan dari (https://github.com/microsoft/Swin-Transformer). Dibersihkan untuk mendukung torchscript.
  • Beberapa refactoring untuk implementasi Swin-V2-CR timm yang sudah ada, kemungkinan akan dilakukan sedikit lagi untuk mendekatkan beberapa bagian ke versi resmi dan memutuskan apakah akan menggabungkan beberapa aspek.
  • Eksperimen lebih lanjut tentang posisi relatif Vision Transformer / residual post-norm (semuanya dilatih di TPU berkat program TRC)
    • vit_relpos_small_patch16_224 - 81,5 @ 224, 82,5 @ 320 — rel pos, layer scale, tanpa class token, avg pool
    • vit_relpos_medium_patch16_rpn_224 - 82.3 @ 224, 83.1 @ 320 — rel pos + res-post-norm, tanpa class token, avg pool
    • vit_relpos_medium_patch16_224 - 82,5 @ 224, 83,3 @ 320 — rel pos, layer scale, tanpa class token, avg pool
    • vit_relpos_base_patch16_gapcls_224 - 82.8 @ 224, 83.9 @ 320 — rel pos, layer scale, class token, avg pool (secara tidak sengaja)
  • Menghidupkan kembali varian model ViT 'medium' dengan 512 dimensi dan 8 head (setelah digunakan dalam model 'small' pra-DeiT untuk implementasi ViT pertama pada tahun 2020)
  • Tambahkan dukungan posisi relatif ViT untuk beralih antara implementasi yang ada dan beberapa tambahan dalam implementasi resmi Swin-V2 untuk percobaan di masa depan
  • Implementasi Sequencer2D (https://arxiv.org/abs/2205.01972), ditambahkan melalui PR dari penulis (https://github.com/okojoalg)

2 Mei 2022

  • Eksperimen Vision Transformer dengan penambahan Relative Position (Swin-V2 log-coord) (vision_transformer_relpos.py) dan cabang Residual Post-Norm (dari Swin-V2) (vision_transformer*.py)
    • vit_relpos_base_patch32_plus_rpn_256 - 79,5 @ 256, 80,6 @ 320 — rel pos + lebar diperluas + res-post-norm, tanpa class token, avg pool
    • vit_relpos_base_patch16_224 - 82,5 @ 224, 83,6 @ 320 — rel pos, layer scale, tanpa class token, avg pool
    • vit_base_patch16_rpn_224 - 82.3 @ 224 — rel pos + res-post-norm, tanpa class token, avg pool
  • Refactor Vision Transformer untuk menghapus lapisan representasi yang hanya digunakan pada vit awal dan jarang digunakan sejak pretrain yang lebih baru (misalnya How to Train Your ViT)
  • Model vit_* mendukung penghapusan class token, penggunaan global average pool, dan penggunaan fc_norm (ala beit, mae).

22 April 2022

  • Model timm kini didukung secara resmi di fast.ai. Tepat waktu untuk kursus Practical Deep Learning yang baru. Tautan dokumentasi timmdocs diperbarui menjadi timm.fast.ai.
  • Dua bobot model tambahan yang ditambahkan dalam seri yang dilatih di TPU . Beberapa pralatihan In22k masih dalam proses.
    • seresnext101d_32x8d - 83.69 @ 224, 84.35 @ 288
    • seresnextaa101d_32x8d (anti-aliased w/ AvgPool2d) - 83.85 @ 224, 84.57 @ 288

23 Maret 2022

  • Tambahkan opsi ParallelBlock dan LayerScale ke model vit dasar untuk mendukung konfigurasi model di Tiga hal yang harus diketahui semua orang tentang ViT
  • Bobot convnext_tiny_hnf (head norm first) yang dilatih dengan resep A2 (hampir), 82,2% top-1, bisa lebih baik dengan epoch yang lebih banyak.

21 Maret 2022

  • Merge norm_norm_norm. PENTING pembaruan ini untuk rilis 0.6.x mendatang kemungkinan akan membuat cabang master tidak stabil untuk sementara waktu. Cabang 0.5.x atau rilis 0.5.x sebelumnya dapat digunakan jika stabilitas diperlukan.
  • Pembaruan bobot signifikan (semua dilatih di TPU) seperti yang dijelaskan dalam rilis ini
    • regnety_040 - 82.3 @ 224, 82.96 @ 288
    • regnety_064 - 83.0 @ 224, 83.65 @ 288
    • regnety_080 - 83.17 @ 224, 83.86 @ 288
    • regnetv_040 - 82.44 @ 224, 83.18 @ 288 (timm pre-act)
    • regnetv_064 - 83,1 @ 224, 83,71 @ 288 (timm pre-act)
    • regnetz_040 - 83.67 @ 256, 84.25 @ 320
    • regnetz_040h - 83,77 @ 256, 84,5 @ 320 (dengan fc tambahan di head)
    • resnetv2_50d_gn - 80,8 @ 224, 81,96 @ 288 (pre-act GroupNorm)
    • resnetv2_50d_evos 80,77 @ 224, 82,04 @ 288 (pre-act EvoNormS)
    • regnetz_c16_evos - 81,9 @ 256, 82,64 @ 320 (EvoNormS)
    • regnetz_d8_evos - 83,42 @ 256, 84,04 @ 320 (EvoNormS)
    • xception41p - 82 @ 299 (timm pre-act)
    • xception65 - 83.17 @ 299
    • xception65p - 83.14 @ 299 (timm pre-act)
    • resnext101_64x4d - 82.46 @ 224, 83.16 @ 288
    • seresnext101_32x8d - 83.57 @ 224, 84.270 @ 288
    • resnetrs200 - 83.85 @ 256, 84.44 @ 320
  • Dukungan HuggingFace hub diperbaiki dengan fondasi awal untuk memungkinkan ‘sumber konfigurasi’ alternatif untuk definisi dan bobot model pretrained (dukungan file lokal generik / URL remote segera hadir)
  • Implementasi SwinTransformer-V2 ditambahkan. Disumbangkan oleh Christoph Reich. Eksperimen pelatihan dan perubahan model oleh saya masih berlangsung, jadi harap antisipasi pemutusan kompatibilitas.
  • Model / bobot Swin-S3 (AutoFormerV2) ditambahkan dari https://github.com/microsoft/Cream/tree/main/AutoFormerV2
  • Model MobileViT dengan bobot yang diadaptasi dari https://github.com/apple/ml-cvnets
  • Model PoolFormer dengan bobot yang diadaptasi dari https://github.com/sail-sg/poolformer
  • Model VOLO dengan bobot yang diadaptasi dari https://github.com/sail-sg/volo
  • Pekerjaan signifikan dalam eksperimen dengan lapisan norm non-BatchNorm seperti EvoNorm, FilterResponseNorm, GroupNorm, dll.
  • Perkuat dukungan untuk lapisan norm + act alternatif (‘NormAct’) yang ditambahkan ke sejumlah model, khususnya EfficientNet/MobileNetV3, RegNet, dan Xception yang selaras
  • Dukungan grouped conv ditambahkan ke keluarga EfficientNet
  • Tambahkan API ‘group matching’ ke semua model untuk memungkinkan pengelompokan parameter model guna penerapan peluruhan LR ‘layer-wise’, skala lr ditambahkan ke penjadwal LR
  • Dukungan gradient checkpointing ditambahkan ke banyak model
  • forward_head(x, pre_logits=False) fn yang ditambahkan ke semua model untuk memungkinkan pemanggilan terpisah dari forward_features + forward_head
  • Semua model vision transformer dan vision MLP diperbarui untuk mengembalikan fitur non-pooled / non-token selected dari forward_features, untuk konsistensi dengan model CNN, pemilihan token atau pooling sekarang diterapkan di forward_head

2 Feb 2022

  • Chris Hughes memposting panduan lengkap tentang timm di blognya kemarin. Sangat layak untuk dibaca. Mulai dengan PyTorch Image Models (timm): Panduan Praktisi
  • Saat ini saya sedang mempersiapkan penggabungan norm_norm_norm cabang kembali ke master (versi 0.6.x) dalam waktu sekitar seminggu ke depan. Perubahan yang dilakukan lebih luas dari biasanya dan berpotensi menyebabkan ketidakstabilan serta merusak beberapa penggunaan API model (dengan target kompatibilitas mundur penuh). Jadi, berhati-hatilah dengan instalasi melalui pip install git+https://github.com/rwightman/pytorch-image-models! Rilis 0.5.x dan cabang 0.5.x akan tetap stabil dengan beberapa cherry pick hingga situasi mereda. Disarankan untuk tetap menggunakan instalasi pypi untuk sementara waktu jika Anda menginginkan stabilitas.
    • Perubahannya lebih luas dari biasanya dan dapat mendestabilisasi serta merusak beberapa penggunaan API model (bertujuan untuk kompatibilitas mundur penuh). Jadi, berhati-hatilah dengan instalasi pip install git+https://github.com/rwightman/pytorch-image-models!
    • Rilis 0.5.x dan cabang 0.5.x akan tetap stabil dengan satu atau dua cherry pick hingga situasi mereda. Disarankan untuk tetap menggunakan instalasi pypi untuk sementara jika Anda menginginkan stabilitas.

14 Jan 2022

  • Versi 0.5.4 w/ rilis akan didorong ke pypi. Sudah cukup lama sejak pembaruan pypi terakhir dan perubahan yang lebih berisiko akan segera digabungkan ke cabang utama…
  • Tambahkan model ConvNeXT /w bobot dari implementasi resmi (https://github.com/facebookresearch/ConvNeXt), beberapa penyesuaian performa, kompatibel dengan fitur timm
  • Sudah mencoba melatih beberapa model kecil (±1,8–3 juta parameter) / dioptimalkan untuk perangkat mobile, beberapa hasilnya sudah bagus sejauh ini, dan masih ada yang sedang dikembangkan…
    • mnasnet_small - 65,6 top-1
    • mobilenetv2_050 - 65.9
    • lcnet_100/075/050 - 72.1 / 68.8 / 63.1
    • semnasnet_075 - 73
    • fbnetv3_b/d/g - 79.1 / 79.7 / 82.0
  • Model TinyNet yang ditambahkan oleh rsomani95
  • LCNet ditambahkan melalui arsitektur MobileNetV3

5 Jan 2023

23 Des 2022 🎄☃

  • Tambahkan model dan bobot FlexiViT dari https://github.com/google-research/big_vision (lihat makalah di https://arxiv.org/abs/2212.08013)
    • NOTE saat ini resizing bersifat statis saat pembuatan model, sampling ukuran patch dinamis / pelatihan secara langsung masih dalam pengembangan
  • Banyak model lain yang telah diperbarui ke multi-weight dan dapat diunduh melalui HF hub saat ini (convnext, efficientnet, mobilenet, vision_transformer*, beit)
  • Tag pretrained model tambahan dan penyesuaian, beberapa nama model diubah (sedang mengerjakan terjemahan deprecation, pertimbangkan cabang DEV sebagai cabang utama saat ini, gunakan 0.6.x untuk penggunaan stabil)
  • Semakin banyak model pretrain ImageNet-12k (subset dari 22k) yang bermunculan:
    • efficientnet_b5.in12k_ft_in1k - 85.9 @ 448x448
    • vit_medium_patch16_gap_384.in12k_ft_in1k - 85.5 @ 384x384
    • vit_medium_patch16_gap_256.in12k_ft_in1k - 84.5 @ 256x256
    • convnext_nano.in12k_ft_in1k - 82.9 @ 288x288

8 Des 2022

  • Tambahkan ‘EVA l’ ke vision_transformer.py, prapelatihan MIM ViT-L/14 gaya MAE dengan target EVA-CLIP, FT pada ImageNet-1k (dengan ImageNet-22k sebagai perantara untuk beberapa)
modeltop1param_countgmacmactshub
eva_large_patch14_336.in22k_ft_in22k_in1k89.2304.5191.1270.2tautan
eva_large_patch14_336.in22k_ft_in1k88.7304.5191.1270.2tautan
eva_large_patch14_196.in22k_ft_in22k_in1k88.6304.161.663.5tautan
eva_large_patch14_196.in22k_ft_in1k87.9304.161.663.5tautan

6 Des 2022

modeltop1param_countgmacmactshub
eva_giant_patch14_560.m30m_ft_in22k_in1k89.81014.41906.82577.2tautan
eva_giant_patch14_336.m30m_ft_in22k_in1k89.61013620.6550.7tautan
eva_giant_patch14_336.clip_ft_in1k89.41013620.6550.7tautan
eva_giant_patch14_224.clip_ft_in1k89.11012.6267.2192.6tautan

5 Des 2022

  • Prarelease (0.8.0dev0) untuk dukungan multi-berat (model_arch.pretrained_tag). Instal dengan pip install --pre timm
    • vision_transformer, maxvit, convnext adalah tiga implementasi model pertama dengan dukungan
    • nama model akan berubah seiring dengan ini (fungsi _21k, dll. sebelumnya akan digabungkan), masih dalam proses mengatur penanganan deprecation
    • kemungkinan besar ada bug, tetapi saya membutuhkan umpan balik, jadi silakan coba
    • jika stabilitas diperlukan, silakan gunakan rilis pypi 0.6.x atau clone dari cabang 0.6.x
  • Dukungan untuk compile PyTorch 2.0 ditambahkan di train/validate/inference/benchmark, gunakan argumen --torchcompile
  • Skrip inferensi memungkinkan kontrol lebih besar atas output, pilih k untuk indeks kelas teratas + prob, output json, csv atau parquet
  • Tambahkan seperangkat lengkap bobot menara gambar CLIP yang telah disempurnakan dari kedua model LAION-2B dan model CLIP OpenAI asli
modeltop1param_countgmacmactshub
vit_huge_patch14_clip_336.laion2b_ft_in12k_in1k88.6632.5391407.5tautan
vit_large_patch14_clip_336.openai_ft_in12k_in1k88.3304.5191.1270.2tautan
vit_huge_patch14_clip_224.laion2b_ft_in12k_in1k88.2632167.4139.4tautan
vit_large_patch14_clip_336.laion2b_ft_in12k_in1k88.2304.5191.1270.2tautan
vit_large_patch14_clip_224.openai_ft_in12k_in1k88.2304.281.188.8tautan
vit_large_patch14_clip_224.laion2b_ft_in12k_in1k87.9304.281.188.8tautan
vit_large_patch14_clip_224.openai_ft_in1k87.9304.281.188.8tautan
vit_large_patch14_clip_336.laion2b_ft_in1k87.9304.5191.1270.2tautan
vit_huge_patch14_clip_224.laion2b_ft_in1k87.6632167.4139.4tautan
vit_large_patch14_clip_224.laion2b_ft_in1k87.3304.281.188.8tautan
vit_base_patch16_clip_384.laion2b_ft_in12k_in1k87.286.955.5101.6tautan
vit_base_patch16_clip_384.openai_ft_in12k_in1k8786.955.5101.6tautan
vit_base_patch16_clip_384.laion2b_ft_in1k86.686.955.5101.6tautan
vit_base_patch16_clip_384.openai_ft_in1k86.286.955.5101.6tautan
vit_base_patch16_clip_224.laion2b_ft_in12k_in1k86.286.617.623.9tautan
vit_base_patch16_clip_224.openai_ft_in12k_in1k85.986.617.623.9tautan
vit_base_patch32_clip_448.laion2b_ft_in12k_in1k85.888.317.923.9tautan
vit_base_patch16_clip_224.laion2b_ft_in1k85.586.617.623.9tautan
vit_base_patch32_clip_384.laion2b_ft_in12k_in1k85.488.313.116.5tautan
vit_base_patch16_clip_224.openai_ft_in1k85.386.617.623.9tautan
vit_base_patch32_clip_384.openai_ft_in12k_in1k85.288.313.116.5tautan
vit_base_patch32_clip_224.laion2b_ft_in12k_in1k83.388.24.45tautan
vit_base_patch32_clip_224.laion2b_ft_in1k82.688.24.45tautan
vit_base_patch32_clip_224.openai_ft_in1k81.988.24.45tautan
  • Porting bobot MaxViT Tensorflow dari implementasi resmi di https://github.com/google-research/maxvit
    • Terdapat penurunan yang lebih besar dari yang diharapkan pada bobot fine-tune in21k yang di-upscale ke 384/512, kemungkinan ada detail yang hilang, tetapi 21k FT memang tampak sensitif terhadap praproses kecil
modeltop1param_countgmacmactshub
maxvit_xlarge_tf_512.in21k_ft_in1k88.5475.8534.11413.2tautan
maxvit_xlarge_tf_384.in21k_ft_in1k88.3475.3292.8668.8tautan
maxvit_base_tf_512.in21k_ft_in1k88.2119.9138704tautan
maxvit_large_tf_512.in21k_ft_in1k88212.3244.8942.2tautan
maxvit_large_tf_384.in21k_ft_in1k88212132.6445.8tautan
maxvit_base_tf_384.in21k_ft_in1k87.9119.673.8332.9tautan
maxvit_base_tf_512.in1k86.6119.9138704tautan
maxvit_large_tf_512.in1k86.5212.3244.8942.2tautan
maxvit_base_tf_384.in1k86.3119.673.8332.9tautan
maxvit_large_tf_384.in1k86.2212132.6445.8tautan
maxvit_small_tf_512.in1k86.169.167.3383.8tautan
maxvit_tiny_tf_512.in1k85.73133.5257.6tautan
maxvit_small_tf_384.in1k85.56935.9183.6tautan
maxvit_tiny_tf_384.in1k85.13117.5123.4tautan
maxvit_large_tf_224.in1k84.9211.843.7127.4tautan
maxvit_base_tf_224.in1k84.9119.52495tautan
maxvit_small_tf_224.in1k84.468.911.753.2tautan
maxvit_tiny_tf_224.in1k83.430.95.635.8tautan

15 Okt 2022

  • Peningkatan skrip pelatihan dan validasi
  • Dukungan perangkat non-GPU (yaitu CPU)
  • Kompatibilitas SLURM untuk skrip pelatihan
  • Dukungan dataset HF (melalui ReaderHfds)
  • Perbaikan pemuatan data TFDS/WDS (padding/bungkus sampel untuk penggunaan terdistribusi diperbaiki terkait estimasi jumlah sampel)
  • dukungan in_chans !=3 untuk skrip / loader
  • Optimizer Adan
  • Dapat mengaktifkan penjadwalan LR per langkah melalui args
  • Dataset ‘parsers’ diubah namanya menjadi ‘readers’, lebih deskriptif terhadap tujuannya
  • Argumen AMP berubah, APEX melalui --amp-impl apex, bfloat16 didukung melalui --amp-dtype bfloat16
  • cabang utama beralih ke versi 0.7.x, 0.6x di-fork untuk rilis stabil dari weight only adds
  • penggantian nama branch master -> main

10 Okt 2022

  • Lebih banyak bobot di maxxvit seri, termasuk blok ConvNeXt pertama berbasis coatnext dan maxxvit eksperimen:
    • coatnext_nano_rw_224 - 82.0 @ 224 (G) — (menggunakan blok conv ConvNeXt, tanpa BatchNorm)
    • maxxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.7 @ 320 (G) (menggunakan blok conv ConvNeXt, tanpa BN)
    • maxvit_rmlp_small_rw_224 - 84.5 @ 224, 85.1 @ 320 (G)
    • maxxvit_rmlp_small_rw_256 - 84.6 @ 256, 84.9 @ 288 (G) — bisa dilatih lebih baik, hparams perlu penyetelan (menggunakan blok ConvNeXt, tanpa BN)
    • coatnet_rmlp_2_rw_224 - 84.6 @ 224, 85 @ 320 (T)
    • CATATAN: bobot resmi MaxVit (in1k) telah dirilis di https://github.com/google-research/maxvit — diperlukan sedikit pekerjaan tambahan untuk memindahkan dan menyesuaikan karena implementasi saya dibuat secara independen dari implementasi mereka dan memiliki beberapa perbedaan kecil + masalah padding yang sama di TF.

23 September 2022

  • Menara gambar LAION-2B CLIP didukung sebagai backbone pretrained untuk fine-tune atau ekstraksi fitur (tanpa classifier)
    • vit_base_patch32_224_clip_laion2b
    • vit_large_patch14_224_clip_laion2b
    • vit_huge_patch14_224_clip_laion2b
    • vit_giant_patch14_224_clip_laion2b

7 September 2022

  • Beranda dokumentasi timm Hugging Face kini tersedia, cari lebih banyak di sini di masa depan
  • Tambahkan bobot BEiT-v2 untuk model base dan large 224x224 dari https://github.com/microsoft/unilm/tree/master/beit2
  • Tambahkan lebih banyak bobot di maxxvit seri, termasuk pico (7.5M parameter, 1,9 GMACs), dua tiny varian:
    • maxvit_rmlp_pico_rw_256 - 80.5 @ 256, 81.3 @ 320 (T)
    • maxvit_tiny_rw_224 - 83.5 @ 224 (G)
    • maxvit_rmlp_tiny_rw_256 - 84.2 @ 256, 84.8 @ 320 (T)

29 Agustus 2022

  • Ukuran jendela MaxVit secara default berskala dengan img_size. Tambahkan bobot RelPosMlp MaxViT baru yang memanfaatkan hal ini:
    • maxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.6 @ 320 (T)

26 Agustus 2022

  • CoAtNet (https://arxiv.org/abs/2106.04803) dan MaxVit (https://arxiv.org/abs/2204.01697) timm model asli timm
  • Bobot pretrained awal CoAtNet dan MaxVit timm (sedang bekerja pada lebih banyak):
    • coatnet_nano_rw_224 - 81.7 @ 224 (T)
    • coatnet_rmlp_nano_rw_224 - 82.0 @ 224, 82.8 @ 320 (T)
    • coatnet_0_rw_224 - 82.4 (T) — CATATAN coatnets ‘0’ timm memiliki 2 blok tahap ke-3 tambahan
    • coatnet_bn_0_rw_224 - 82.4 (T)
    • maxvit_nano_rw_256 - 82.9 @ 256 (T)
    • coatnet_rmlp_1_rw_224 - 83.4 @ 224, 84 @ 320 (T)
    • coatnet_1_rw_224 - 83.6 @ 224 (G)
    • (T) = TPU yang dilatih dengan kode pelatihan cabang bits_and_tpu, (G) = GPU yang dilatih
  • GCVit (bobot diadaptasi dari https://github.com/NVlabs/GCVit, kode 100% ditulis ulang timm untuk keperluan lisensi)
  • MViT-V2 (multi-scale vit, diadaptasi dari https://github.com/facebookresearch/mvit)
  • EfficientFormer (diadaptasi dari https://github.com/snap-research/EfficientFormer)
  • PyramidVisionTransformer-V2 (diadaptasi dari https://github.com/whai362/PVT)
  • Dukungan ‘Fast Norm’ untuk LayerNorm dan GroupNorm yang menghindari upcast ke float32 dengan AMP (menggunakan APEX LN jika tersedia untuk peningkatan lebih lanjut)

15 Agustus 2022

  • Bobot ConvNeXt atto ditambahkan
    • convnext_atto - 75.7 @ 224, 77.0 @ 288
    • convnext_atto_ols - 75.9 @ 224, 77.2 @ 288

5 Agu 2022

  • Definisi model ConvNeXt kustom yang lebih kecil dengan bobot
    • convnext_femto - 77.5 @ 224, 78.7 @ 288
    • convnext_femto_ols - 77.9 @ 224, 78.9 @ 288
    • convnext_pico - 79.5 @ 224, 80.4 @ 288
    • convnext_pico_ols - 79.5 @ 224, 80.5 @ 288
    • convnext_nano_ols - 80.9 @ 224, 81.6 @ 288
  • EdgeNeXt diperbarui untuk meningkatkan ekspor ONNX, menambahkan varian dasar baru dan bobot dari versi asli (https://github.com/mmaaz60/EdgeNeXt)

28 Juli 2022

  • Tambahkan bobot model DeiT-III Medium (width=512, depth=12, num_heads=8) yang baru dibuat. Terima kasih Hugo Touvron!

27 Juli 2022

  • Semua file csv hasil benchmark dan validasi runtime sudah diperbarui!
  • Beberapa bobot & definisi model tambahan:
    • darknetaa53 - 79.8 @ 256, 80.5 @ 288
    • convnext_nano - 80.8 @ 224, 81.5 @ 288
    • cs3sedarknet_l - 81.2 @ 256, 81.8 @ 288
    • cs3darknet_x - 81.8 @ 256, 82.2 @ 288
    • cs3sedarknet_x - 82.2 @ 256, 82.7 @ 288
    • cs3edgenet_x - 82.2 @ 256, 82.7 @ 288
    • cs3se_edgenet_x - 82.8 @ 256, 83.5 @ 320
  • Bobot cs3* di atas semuanya dilatih di TPU dengan cabang bits_and_tpu. Terima kasih kepada program TRC!
  • Tambahkan dukungan output_stride=8 dan 16 ke ConvNeXt (dilation)
  • Model deit3 yang tidak dapat mengubah ukuran pos_emb telah diperbaiki
  • Rilis PyPi Versi 0.6.7 (dengan perbaikan bug di atas dan bobot baru sejak 0.6.5)

8 Juli 2022

Lebih banyak model, lebih banyak perbaikan

  • Model penelitian resmi (dengan bobot) yang ditambahkan:
  • Model saya sendiri:
    • Definisi ResNet kecil ditambahkan atas permintaan dengan pengulangan 1 blok untuk basic dan bottleneck (resnet10 dan resnet14)
    • CspNet direfaktor dengan konfigurasi dataclass, opsi CrossStage3 (cs3) disederhanakan. Ini lebih mendekati definisi backbone YOLO-v5+.
    • Lebih banyak penyesuaian posisi relatif vit. Dua model srelpos (posisi relatif bersama) telah dilatih, dan satu medium dengan class token.
    • Tambahkan mode downsample alternatif ke EdgeNeXt dan latih model small. Lebih baik daripada small asli, tetapi tidak sebanding dengan bobot USI baru mereka.
  • Hasil bobot model saya sendiri (semua pelatihan ImageNet-1k)
    • resnet10t - 66.5 @ 176, 68.3 @ 224
    • resnet14t - 71.3 @ 176, 72.3 @ 224
    • resnetaa50 - 80.6 @ 224 , 81.6 @ 288
    • darknet53 - 80.0 @ 256, 80.5 @ 288
    • cs3darknet_m - 77.0 @ 256, 77.6 @ 288
    • cs3darknet_focus_m - 76.7 @ 256, 77.3 @ 288
    • cs3darknet_l - 80.4 @ 256, 80.9 @ 288
    • cs3darknet_focus_l - 80.3 @ 256, 80.9 @ 288
    • vit_srelpos_small_patch16_224 - 81.1 @ 224, 82.1 @ 320
    • vit_srelpos_medium_patch16_224 - 82.3 @ 224, 83.1 @ 320
    • vit_relpos_small_patch16_cls_224 - 82.6 @ 224, 83.6 @ 320
    • edgnext_small_rw - 79.6 @ 224, 80.4 @ 320
  • Bobot cs3, darknet, dan vit_*relpos di atas semuanya dilatih di TPU berkat program TRC! Sisanya dilatih di GPU yang kepanasan.
  • Perbaikan dukungan Hugging Face Hub telah diverifikasi, notebook demo TBA
  • Bobot / konfigurasi pralatih dapat dimuat secara eksternal (misalnya dari disk lokal) dengan dukungan adaptasi head.
  • Tambahkan dukungan untuk mengubah ekstensi gambar yang dipindai oleh dataset/parser timm. Lihat (https://github.com/rwightman/pytorch-image-models/pull/1274#issuecomment-1178303103)
  • Implementasi LayerNorm ConvNeXt default yang digunakan F.layer_norm(x.permute(0, 2, 3, 1), ...).permute(0, 3, 1, 2) melalui LayerNorm2d dalam semua kasus. Sedikit lebih lambat daripada implementasi kustom sebelumnya di beberapa perangkat keras (misalnya Ampere dengan CL), tetapi secara keseluruhan memiliki lebih sedikit regresi di berbagai rentang perangkat keras / versi PyTorch yang lebih luas. Implementasi sebelumnya tersedia sebagai LayerNormExp2d di models/layers/norm.py
    • sedikit lebih lambat daripada implementasi kustom sebelumnya pada beberapa perangkat keras (misalnya Ampere dengan CL), tetapi secara keseluruhan memiliki lebih sedikit regresi di berbagai rentang perangkat keras / versi PyTorch yang lebih luas.
    • implementasi sebelumnya ada sebagai LayerNormExp2d di models/layers/norm.py
  • Banyak perbaikan bug
  • Saat ini sedang menguji untuk rilis PyPi 0.6.x yang akan segera hadir
  • Pretraining model yang lebih besar untuk LeViT masih dalam tahap pengembangan (WIP); model tersebut tidak dapat dilatih dengan baik/mudah tanpa distilasi. Sudah saatnya untuk menambahkan dukungan distilasi (akhirnya)?
  • Pelatihan bobot ImageNet-22k + finetune sedang berlangsung, pekerjaan untuk dukungan multi-bobot (pelan-pelan) terus berjalan (ada BANYAK bobot, helaan napas) …

13 Mei 2022

  • Model dan bobot Swin-V2 resmi ditambahkan dari (https://github.com/microsoft/Swin-Transformer). Dibersihkan untuk mendukung torchscript.
  • Beberapa refactoring untuk implementasi Swin-V2-CR timm yang sudah ada, kemungkinan akan dilakukan sedikit lagi untuk mendekatkan beberapa bagian ke versi resmi dan memutuskan apakah akan menggabungkan beberapa aspek.
  • Eksperimen lebih lanjut tentang posisi relatif Vision Transformer / residual post-norm (semuanya dilatih di TPU berkat program TRC)
    • vit_relpos_small_patch16_224 - 81,5 @ 224, 82,5 @ 320 — rel pos, layer scale, tanpa class token, avg pool
    • vit_relpos_medium_patch16_rpn_224 - 82.3 @ 224, 83.1 @ 320 — rel pos + res-post-norm, tanpa class token, avg pool
    • vit_relpos_medium_patch16_224 - 82,5 @ 224, 83,3 @ 320 — rel pos, layer scale, tanpa class token, avg pool
    • vit_relpos_base_patch16_gapcls_224 - 82.8 @ 224, 83.9 @ 320 — rel pos, layer scale, class token, avg pool (secara tidak sengaja)
  • Menghidupkan kembali varian model ViT 'medium' dengan 512 dimensi dan 8 head (setelah digunakan dalam model 'small' pra-DeiT untuk implementasi ViT pertama pada tahun 2020)
  • Tambahkan dukungan posisi relatif ViT untuk beralih antara implementasi yang ada dan beberapa tambahan dalam implementasi resmi Swin-V2 untuk percobaan di masa depan
  • Implementasi Sequencer2D (https://arxiv.org/abs/2205.01972), ditambahkan melalui PR dari penulis (https://github.com/okojoalg)

2 Mei 2022

  • Eksperimen Vision Transformer dengan penambahan Relative Position (Swin-V2 log-coord) (vision_transformer_relpos.py) dan cabang Residual Post-Norm (dari Swin-V2) (vision_transformer*.py)
    • vit_relpos_base_patch32_plus_rpn_256 - 79,5 @ 256, 80,6 @ 320 — rel pos + lebar diperluas + res-post-norm, tanpa class token, avg pool
    • vit_relpos_base_patch16_224 - 82,5 @ 224, 83,6 @ 320 — rel pos, layer scale, tanpa class token, avg pool
    • vit_base_patch16_rpn_224 - 82.3 @ 224 — rel pos + res-post-norm, tanpa class token, avg pool
  • Refactor Vision Transformer untuk menghapus lapisan representasi yang hanya digunakan pada vit awal dan jarang digunakan sejak pretrain yang lebih baru (misalnya How to Train Your ViT)
  • Model vit_* mendukung penghapusan class token, penggunaan global average pool, dan penggunaan fc_norm (ala beit, mae).

22 April 2022

  • Model timm kini didukung secara resmi di fast.ai. Tepat waktu untuk kursus Practical Deep Learning yang baru. Tautan dokumentasi timmdocs diperbarui menjadi timm.fast.ai.
  • Dua bobot model tambahan yang ditambahkan dalam seri yang dilatih di TPU . Beberapa pralatihan In22k masih dalam proses.
    • seresnext101d_32x8d - 83.69 @ 224, 84.35 @ 288
    • seresnextaa101d_32x8d (anti-aliased w/ AvgPool2d) - 83.85 @ 224, 84.57 @ 288

23 Maret 2022

  • Tambahkan opsi ParallelBlock dan LayerScale ke model vit dasar untuk mendukung konfigurasi model di Tiga hal yang harus diketahui semua orang tentang ViT
  • Bobot convnext_tiny_hnf (head norm first) yang dilatih dengan resep A2 (hampir), 82,2% top-1, bisa lebih baik dengan epoch yang lebih banyak.

21 Maret 2022

  • Merge norm_norm_norm. PENTING pembaruan ini untuk rilis 0.6.x mendatang kemungkinan akan membuat cabang master tidak stabil untuk sementara waktu. Cabang 0.5.x atau rilis 0.5.x sebelumnya dapat digunakan jika stabilitas diperlukan.
  • Pembaruan bobot signifikan (semua dilatih di TPU) seperti yang dijelaskan dalam rilis ini
    • regnety_040 - 82.3 @ 224, 82.96 @ 288
    • regnety_064 - 83.0 @ 224, 83.65 @ 288
    • regnety_080 - 83.17 @ 224, 83.86 @ 288
    • regnetv_040 - 82.44 @ 224, 83.18 @ 288 (timm pre-act)
    • regnetv_064 - 83,1 @ 224, 83,71 @ 288 (timm pre-act)
    • regnetz_040 - 83.67 @ 256, 84.25 @ 320
    • regnetz_040h - 83,77 @ 256, 84,5 @ 320 (dengan fc tambahan di head)
    • resnetv2_50d_gn - 80,8 @ 224, 81,96 @ 288 (pre-act GroupNorm)
    • resnetv2_50d_evos 80,77 @ 224, 82,04 @ 288 (pre-act EvoNormS)
    • regnetz_c16_evos - 81,9 @ 256, 82,64 @ 320 (EvoNormS)
    • regnetz_d8_evos - 83,42 @ 256, 84,04 @ 320 (EvoNormS)
    • xception41p - 82 @ 299 (timm pre-act)
    • xception65 - 83.17 @ 299
    • xception65p - 83.14 @ 299 (timm pre-act)
    • resnext101_64x4d - 82.46 @ 224, 83.16 @ 288
    • seresnext101_32x8d - 83.57 @ 224, 84.270 @ 288
    • resnetrs200 - 83.85 @ 256, 84.44 @ 320
  • Dukungan HuggingFace hub diperbaiki dengan fondasi awal untuk memungkinkan ‘sumber konfigurasi’ alternatif untuk definisi dan bobot model pretrained (dukungan file lokal generik / URL remote segera hadir)
  • Implementasi SwinTransformer-V2 ditambahkan. Disumbangkan oleh Christoph Reich. Eksperimen pelatihan dan perubahan model oleh saya masih berlangsung, jadi harap antisipasi pemutusan kompatibilitas.
  • Model / bobot Swin-S3 (AutoFormerV2) ditambahkan dari https://github.com/microsoft/Cream/tree/main/AutoFormerV2
  • Model MobileViT dengan bobot yang diadaptasi dari https://github.com/apple/ml-cvnets
  • Model PoolFormer dengan bobot yang diadaptasi dari https://github.com/sail-sg/poolformer
  • Model VOLO dengan bobot yang diadaptasi dari https://github.com/sail-sg/volo
  • Pekerjaan signifikan dalam eksperimen dengan lapisan norm non-BatchNorm seperti EvoNorm, FilterResponseNorm, GroupNorm, dll.
  • Perkuat dukungan untuk lapisan norm + act alternatif (‘NormAct’) yang ditambahkan ke sejumlah model, khususnya EfficientNet/MobileNetV3, RegNet, dan Xception yang selaras
  • Dukungan grouped conv ditambahkan ke keluarga EfficientNet
  • Tambahkan API ‘group matching’ ke semua model untuk memungkinkan pengelompokan parameter model guna penerapan peluruhan LR ‘layer-wise’, skala lr ditambahkan ke penjadwal LR
  • Dukungan gradient checkpointing ditambahkan ke banyak model
  • forward_head(x, pre_logits=False) fn yang ditambahkan ke semua model untuk memungkinkan pemanggilan terpisah dari forward_features + forward_head
  • Semua model vision transformer dan vision MLP diperbarui untuk mengembalikan fitur non-pooled / non-token selected dari forward_features, untuk konsistensi dengan model CNN, pemilihan token atau pooling sekarang diterapkan di forward_head

2 Feb 2022

  • Chris Hughes memposting panduan lengkap tentang timm di blognya kemarin. Sangat layak untuk dibaca. Mulai dengan PyTorch Image Models (timm): Panduan Praktisi
  • Saat ini saya sedang mempersiapkan penggabungan norm_norm_norm cabang kembali ke master (versi 0.6.x) dalam waktu sekitar seminggu ke depan. Perubahan yang dilakukan lebih luas dari biasanya dan berpotensi menyebabkan ketidakstabilan serta merusak beberapa penggunaan API model (dengan target kompatibilitas mundur penuh). Jadi, berhati-hatilah dengan instalasi melalui pip install git+https://github.com/rwightman/pytorch-image-models! Rilis 0.5.x dan cabang 0.5.x akan tetap stabil dengan beberapa cherry pick hingga situasi mereda. Disarankan untuk tetap menggunakan instalasi pypi untuk sementara waktu jika Anda menginginkan stabilitas.
    • Perubahannya lebih luas dari biasanya dan dapat mendestabilisasi serta merusak beberapa penggunaan API model (bertujuan untuk kompatibilitas mundur penuh). Jadi, berhati-hatilah dengan instalasi pip install git+https://github.com/rwightman/pytorch-image-models!
    • Rilis 0.5.x dan cabang 0.5.x akan tetap stabil dengan satu atau dua cherry pick hingga situasi mereda. Disarankan untuk tetap menggunakan instalasi pypi untuk sementara jika Anda menginginkan stabilitas.

14 Jan 2022

  • Versi 0.5.4 w/ rilis akan didorong ke pypi. Sudah cukup lama sejak pembaruan pypi terakhir dan perubahan yang lebih berisiko akan segera digabungkan ke cabang utama…
  • Tambahkan model ConvNeXT /w bobot dari implementasi resmi (https://github.com/facebookresearch/ConvNeXt), beberapa penyesuaian performa, kompatibel dengan fitur timm
  • Sudah mencoba melatih beberapa model kecil (±1,8–3 juta parameter) / dioptimalkan untuk perangkat mobile, beberapa hasilnya sudah bagus sejauh ini, dan masih ada yang sedang dikembangkan…
    • mnasnet_small - 65,6 top-1
    • mobilenetv2_050 - 65.9
    • lcnet_100/075/050 - 72.1 / 68.8 / 63.1
    • semnasnet_075 - 73
    • fbnetv3_b/d/g - 79.1 / 79.7 / 82.0
  • Model TinyNet yang ditambahkan oleh rsomani95
  • LCNet ditambahkan melalui arsitektur MobileNetV3
Update on GitHub