timm 文件

更新日誌

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

更新日誌

2025 年 1 月 19 日

  • 修復 LeViT safetensor 權重的載入問題,移除了本應被停用的轉換程式碼
  • 新增使用 SBB 配方訓練的“SO150M” ViT 權重,效果不錯,但對於 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
  • 其他型別、拼寫錯誤等清理
  • 釋出 1.0.14 版本以推出上述 LeViT 修復

2025 年 1 月 9 日

  • 增加在純 bfloat16float16 模式下進行訓練和驗證的支援
  • https://github.com/caojiaolong 添加了 `wandb` 專案名稱引數,使用 arg.experiment 作為名稱
  • 修復了在不支援硬連結的檔案系統(例如 FUSE fs 掛載)上檢查點儲存不工作的舊問題
  • 釋出 1.0.13 版本

2025 年 1 月 6 日

  • timm.models 中新增 torch.utils.checkpoint.checkpoint() 包裝器,預設 use_reentrant=False,除非在環境變數中設定了 TIMM_REENTRANT_CKPT=1

2024 年 12 月 31 日

  • convnext_nano 384x384 在 ImageNet-12k 上預訓練並微調。 https://huggingface.co/models?search=convnext_nano%20r384
  • https://github.com/apple/ml-aim 新增 AIM-v2 編碼器,請在 Hub 上檢視:https://huggingface.co/models?search=timm%20aimv2
  • https://github.com/google-research/big_vision 向現有 PaliGemma 新增 PaliGemma2 編碼器,請在 Hub 上檢視:https://huggingface.co/models?search=timm%20pali2
  • 新增缺失的 L/14 DFN2B 39B CLIP ViT,vit_large_patch14_clip_224.dfn2b_s39b
  • 修復現有的 RmsNorm 層和函式以匹配標準公式,儘可能使用 PT 2.5 的實現。將舊的實現移動到 SimpleNorm 層,這是一個沒有中心化或偏置的 LN。只有兩個 timm 模型在使用它,並且它們已經更新。
  • 允許覆蓋模型建立的 cache_dir 引數
  • 為 HF 資料集包裝器傳遞 trust_remote_code 引數
  • 由建立者新增 inception_next_atto 模型
  • Adan 最佳化器注意事項,以及 Lamb 解耦權重衰減選項
  • https://github.com/brianhou0208 修復了一些 feature_info 元資料
  • 所有 OpenCLIP 和 JAX(CLIP、SigLIP、Pali 等)模型權重都使用了載入時重對映,現在為它們提供了各自的 HF Hub 例項,以便它們能夠與基於 hf-hub: 的載入方式相容,從而能與新的 Transformers TimmWrapperModel 配合使用

2024 年 11 月 28 日

2024 年 11 月 12 日

  • 最佳化器工廠重構
    • 新的工廠透過使用帶有某些關鍵特性的 OptimInfo 資料類來註冊最佳化器
    • 向重構後的 create_optimizer_v2 函式新增 list_optimizersget_optimizer_classget_optimizer_info,用於探索最佳化器、獲取資訊或類
    • 棄用 optim.optim_factory,將函式移動到 optim/_optim_factory.pyoptim/_param_groups.py,並鼓勵透過 timm.optim 匯入
  • 新增 Adopt (https://github.com/iShohei220/adopt) 最佳化器
  • 新增“Big Vision”版本的 Adafactor(https://github.com/google-research/big_vision/blob/main/big_vision/optax.py)最佳化器
  • 修復原始 Adafactor 以選擇更好的卷積分解維度
  • 調整 LAMB 最佳化器,自原始版本以來在 torch.where 功能方面有所改進,並對裁剪進行了一些重構
  • 改進了 vit、deit、eva 中的動態影像尺寸支援,以支援從非方形補丁網格調整大小,感謝 https://github.com/wojtke

2024 年 10 月 31 日

添加了一組經過良好訓練的全新 ResNet 和 ResNet-V2 18/34(基礎塊)權重。請參閱 https://huggingface.co/blog/rwightman/resnet-trick-or-treat

2024 年 10 月 19 日

  • 清理 torch amp 的使用以避免特定於 cuda 的呼叫,合併了來自 MengqingCao 的對 Ascend (NPU) 裝置的支援,該支援現在應該可以在 PyTorch 2.5 中與新的裝置擴充套件自動載入功能一起工作。在 Pytorch 2.5 中也測試了 Intel Arc (XPU),它(大部分)能工作。

2024 年 10 月 16 日

  • 修復了從已棄用的路徑 timm.models.registry 匯入時的錯誤,提高了現有棄用警告的優先順序使其可見
  • 將 InternViT-300M (https://huggingface.co/OpenGVLab/InternViT-300M-448px) 的權重移植到 timm 中,命名為 vit_intern300m_patch14_448

2024 年 10 月 14 日

  • 應要求添加了 18/18d/34/34d ResNet 模型的預啟用(ResNetV2)版本(權重待定)
  • 釋出 1.0.10

2024 年 10 月 11 日

  • 添加了 MambaOut(https://github.com/yuweihao/MambaOut)模型和權重。這是對 SSM 視覺模型的一種巧妙改造,但沒有 SSM(本質上是帶有門控的 ConvNeXt)。混合了原始權重和自定義變體及權重。
模型 影像尺寸 top1 top5 引數數量
mambaout_base_plus_rw.sw_e150_r384_in12k_ft_in1k 384 87.506 98.428 101.66
mambaout_base_plus_rw.sw_e150_in12k_ft_in1k 288 86.912 98.236 101.66
mambaout_base_plus_rw.sw_e150_in12k_ft_in1k 224 86.632 98.156 101.66
mambaout_base_tall_rw.sw_e500_in1k 288 84.974 97.332 86.48
mambaout_base_wide_rw.sw_e500_in1k 288 84.962 97.208 94.45
mambaout_base_short_rw.sw_e500_in1k 288 84.832 97.27 88.83
mambaout_base.in1k 288 84.72 96.93 84.81
mambaout_small_rw.sw_e450_in1k 288 84.598 97.098 48.5
mambaout_small.in1k 288 84.5 96.974 48.49
mambaout_base_wide_rw.sw_e500_in1k 224 84.454 96.864 94.45
mambaout_base_tall_rw.sw_e500_in1k 224 84.434 96.958 86.48
mambaout_base_short_rw.sw_e500_in1k 224 84.362 96.952 88.83
mambaout_base.in1k 224 84.168 96.68 84.81
mambaout_small.in1k 224 84.086 96.63 48.49
mambaout_small_rw.sw_e450_in1k 224 84.024 96.752 48.5
mambaout_tiny.in1k 288 83.448 96.538 26.55
mambaout_tiny.in1k 224 82.736 96.1 26.55
mambaout_kobe.in1k 288 81.054 95.718 9.14
mambaout_kobe.in1k 224 79.986 94.986 9.14
mambaout_femto.in1k 288 79.848 95.14 7.3
mambaout_femto.in1k 224 78.87 94.408 7.3

2024 年 9 月

2024 年 8 月 21 日

  • 更新了在 ImageNet-12k 上訓練並在 ImageNet-1k 上微調的 SBB ViT 模型,挑戰了許多更大、更慢的模型
模型 top1 top5 引數數量 影像尺寸
vit_mediumd_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k 87.438 98.256 64.11 384
vit_mediumd_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k 86.608 97.934 64.11 256
vit_betwixt_patch16_reg4_gap_384.sbb2_e200_in12k_ft_in1k 86.594 98.02 60.4 384
vit_betwixt_patch16_reg4_gap_256.sbb2_e200_in12k_ft_in1k 85.734 97.61 60.4 256
  • 採用 MNV4 基準挑戰配方的 MobileNet-V1 1.25、EfficientNet-B1 和 ResNet50-D 權重
模型 top1 top5 引數數量 影像尺寸
resnet50d.ra4_e3600_r224_in1k 81.838 95.922 25.58 288
efficientnet_b1.ra4_e3600_r240_in1k 81.440 95.700 7.79 288
resnet50d.ra4_e3600_r224_in1k 80.952 95.384 25.58 224
efficientnet_b1.ra4_e3600_r240_in1k 80.406 95.152 7.79 240
mobilenetv1_125.ra4_e3600_r224_in1k 77.600 93.804 6.27 256
mobilenetv1_125.ra4_e3600_r224_in1k 76.924 93.234 6.27 224
  • 新增 SAM2 (HieraDet) 主幹架構和權重載入支援
  • 新增使用 abswin 位置嵌入在 in12k 上訓練並在 1k 上微調的 Hiera Small 權重
模型 top1 top5 引數數量
hiera_small_abswin_256.sbb2_e200_in12k_ft_in1k 84.912 97.260 35.01
hiera_small_abswin_256.sbb2_pd_e200_in12k_ft_in1k 84.560 97.106 35.01

2024 年 8 月 8 日

2024 年 7 月 28 日

  • 使用基於 ra4 mnv4-small 的配方添加了 mobilenet_edgetpu_v2_m 權重。在 224x224 解析度下 top-1 準確率 80.1%,在 256x256 解析度下 80.7%。
  • 釋出 1.0.8

2024 年 7 月 26 日

  • 更多 MobileNet-v4 權重,在 ImageNet-12k 上預訓練並微調,以及抗鋸齒的 ConvLarge 模型
模型 top1 top1_err top5 top5_err 引數數量 影像尺寸
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k 84.99 15.01 97.294 2.706 32.59 544
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k 84.772 15.228 97.344 2.656 32.59 480
mobilenetv4_conv_aa_large.e230_r448_in12k_ft_in1k 84.64 15.36 97.114 2.886 32.59 448
mobilenetv4_conv_aa_large.e230_r384_in12k_ft_in1k 84.314 15.686 97.102 2.898 32.59 384
mobilenetv4_conv_aa_large.e600_r384_in1k 83.824 16.176 96.734 3.266 32.59 480
mobilenetv4_conv_aa_large.e600_r384_in1k 83.244 16.756 96.392 3.608 32.59 384
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k 82.99 17.01 96.67 3.33 11.07 320
mobilenetv4_hybrid_medium.e200_r256_in12k_ft_in1k 82.364 17.636 96.256 3.744 11.07 256
模型 top1 top1_err top5 top5_err 引數數量 影像尺寸
efficientnet_b0.ra4_e3600_r224_in1k 79.364 20.636 94.754 5.246 5.29 256
efficientnet_b0.ra4_e3600_r224_in1k 78.584 21.416 94.338 5.662 5.29 224
mobilenetv1_100h.ra4_e3600_r224_in1k 76.596 23.404 93.272 6.728 5.28 256
mobilenetv1_100.ra4_e3600_r224_in1k 76.094 23.906 93.004 6.996 4.23 256
mobilenetv1_100h.ra4_e3600_r224_in1k 75.662 24.338 92.504 7.496 5.28 224
mobilenetv1_100.ra4_e3600_r224_in1k 75.382 24.618 92.312 7.688 4.23 224
  • 在 vit 和 swin v1/v2 模型中添加了 set_input_size() 的原型,以允許在模型建立後更改影像大小、補丁大小、視窗大小。
  • 在 swin 中改進了對不同大小處理的支援,除了 set_input_size,還在 __init__ 中添加了 always_partitionstrict_img_size 引數,以允許更靈活的輸入大小約束
  • 修復中間“Getter”特徵包裝器的亂序索引資訊,檢查相同內容的越界或範圍索引。
  • 新增幾個引數小於 0.5M 的 `tiny` 模型用於測試,這些模型實際上是在 ImageNet-1k 上訓練的
模型 top1 top1_err top5 top5_err 引數數量 影像尺寸 crop_pct
test_efficientnet.r160_in1k 47.156 52.844 71.726 28.274 0.36 192 1.0
test_byobnet.r160_in1k 46.698 53.302 71.674 28.326 0.46 192 1.0
test_efficientnet.r160_in1k 46.426 53.574 70.928 29.072 0.36 160 0.875
test_byobnet.r160_in1k 45.378 54.622 70.572 29.428 0.46 160 0.875
test_vit.r160_in1k 42.0 58.0 68.664 31.336 0.37 192 1.0
test_vit.r160_in1k 40.822 59.178 67.212 32.788 0.37 160 0.875
  • 修復 vit reg token 初始化,感謝 Promisery
  • 其他雜項修復

2024 年 6 月 24 日

  • 新增 3 個採用不同 MQA 權重初始化方案的 MobileNetV4 混合權重
模型 top1 top1_err top5 top5_err 引數數量 影像尺寸
mobilenetv4_hybrid_large.ix_e600_r384_in1k 84.356 15.644 96.892 3.108 37.76 448
mobilenetv4_hybrid_large.ix_e600_r384_in1k 83.990 16.010 96.702 3.298 37.76 384
mobilenetv4_hybrid_medium.ix_e550_r384_in1k 83.394 16.606 96.760 3.240 11.07 448
mobilenetv4_hybrid_medium.ix_e550_r384_in1k 82.968 17.032 96.474 3.526 11.07 384
mobilenetv4_hybrid_medium.ix_e550_r256_in1k 82.492 17.508 96.278 3.722 11.07 320
mobilenetv4_hybrid_medium.ix_e550_r256_in1k 81.446 18.554 95.704 4.296 11.07 256
  • 在 DaViT 模型中載入 florence2 權重

2024 年 6 月 12 日

  • 添加了 MobileNetV4 模型和初始的一組 `timm` 訓練權重
模型 top1 top1_err top5 top5_err 引數數量 影像尺寸
mobilenetv4_hybrid_large.e600_r384_in1k 84.266 15.734 96.936 3.064 37.76 448
mobilenetv4_hybrid_large.e600_r384_in1k 83.800 16.200 96.770 3.230 37.76 384
mobilenetv4_conv_large.e600_r384_in1k 83.392 16.608 96.622 3.378 32.59 448
mobilenetv4_conv_large.e600_r384_in1k 82.952 17.048 96.266 3.734 32.59 384
mobilenetv4_conv_large.e500_r256_in1k 82.674 17.326 96.31 3.69 32.59 320
mobilenetv4_conv_large.e500_r256_in1k 81.862 18.138 95.69 4.31 32.59 256
mobilenetv4_hybrid_medium.e500_r224_in1k 81.276 18.724 95.742 4.258 11.07 256
mobilenetv4_conv_medium.e500_r256_in1k 80.858 19.142 95.768 4.232 9.72 320
mobilenetv4_hybrid_medium.e500_r224_in1k 80.442 19.558 95.38 4.62 11.07 224
mobilenetv4_conv_blur_medium.e500_r224_in1k 80.142 19.858 95.298 4.702 9.72 256
mobilenetv4_conv_medium.e500_r256_in1k 79.928 20.072 95.184 4.816 9.72 256
mobilenetv4_conv_medium.e500_r224_in1k 79.808 20.192 95.186 4.814 9.72 256
mobilenetv4_conv_blur_medium.e500_r224_in1k 79.438 20.562 94.932 5.068 9.72 224
mobilenetv4_conv_medium.e500_r224_in1k 79.094 20.906 94.77 5.23 9.72 224
mobilenetv4_conv_small.e2400_r224_in1k 74.616 25.384 92.072 7.928 3.77 256
mobilenetv4_conv_small.e1200_r224_in1k 74.292 25.708 92.116 7.884 3.77 256
mobilenetv4_conv_small.e2400_r224_in1k 73.756 26.244 91.422 8.578 3.77 224
mobilenetv4_conv_small.e1200_r224_in1k 73.454 26.546 91.34 8.66 3.77 224
  • Apple MobileCLIP(https://arxiv.org/pdf/2311.17049,FastViT 和 ViT-B)影像塔模型支援和權重已新增(作為 OpenCLIP 支援的一部分)。
  • ViTamin (https://arxiv.org/abs/2404.02132) CLIP 影像塔模型和權重已新增(作為 OpenCLIP 支援的一部分)。
  • OpenAI CLIP 修改版 ResNet 影像塔建模和權重支援(透過 ByobNet)。重構 AttentionPool2d。

2024 年 5 月 14 日

  • 支援將 PaliGemma jax 權重載入到帶平均池化的 SigLIP ViT 模型中。
  • 新增來自 Meta 的 Hiera 模型 (https://github.com/facebookresearch/hiera)。
  • 為變換新增 `normalize=` 標誌,返回具有原始 dytpe 的非歸一化 torch.Tensor(用於 `chug`)
  • 釋出 1.0.3 版本

2024 年 5 月 11 日

  • 釋出了 `尋找更好的 ViT 基線(為 GPU 資源有限者)` 的權重和 vit 變體。探索了 Tiny 和 Base 之間的模型形狀。
模型 top1 top5 引數數量 影像尺寸
vit_mediumd_patch16_reg4_gap_256.sbb_in12k_ft_in1k 86.202 97.874 64.11 256
vit_betwixt_patch16_reg4_gap_256.sbb_in12k_ft_in1k 85.418 97.48 60.4 256
vit_mediumd_patch16_rope_reg1_gap_256.sbb_in1k 84.322 96.812 63.95 256
vit_betwixt_patch16_rope_reg4_gap_256.sbb_in1k 83.906 96.684 60.23 256
vit_base_patch16_rope_reg1_gap_256.sbb_in1k 83.866 96.67 86.43 256
vit_medium_patch16_rope_reg1_gap_256.sbb_in1k 83.81 96.824 38.74 256
vit_betwixt_patch16_reg4_gap_256.sbb_in1k 83.706 96.616 60.4 256
vit_betwixt_patch16_reg1_gap_256.sbb_in1k 83.628 96.544 60.4 256
vit_medium_patch16_reg4_gap_256.sbb_in1k 83.47 96.622 38.88 256
vit_medium_patch16_reg1_gap_256.sbb_in1k 83.462 96.548 38.88 256
vit_little_patch16_reg4_gap_256.sbb_in1k 82.514 96.262 22.52 256
vit_wee_patch16_reg1_gap_256.sbb_in1k 80.256 95.360 13.42 256
vit_pwee_patch16_reg1_gap_256.sbb_in1k 80.072 95.136 15.25 256
vit_mediumd_patch16_reg4_gap_256.sbb_in12k 不適用 不適用 64.11 256
vit_betwixt_patch16_reg4_gap_256.sbb_in12k 不適用 不適用 60.4 256
  • 添加了 AttentionExtract 輔助工具,用於從 timm 模型中提取注意力圖。示例請見 https://github.com/huggingface/pytorch-image-models/discussions/1232#discussioncomment-9320949
  • forward_intermediates() API 經過最佳化,並已新增到更多模型中,包括一些具有其他提取方法的 ConvNets。
  • 1047 個模型架構中有 1017 個支援 features_only=True 特徵提取。剩餘的 34 個架構可以根據優先請求進行支援。
  • 移除了 torch.jit.script 註釋的函式,包括舊的 JIT 啟用函式。與 dynamo 衝突,並且在使用 dynamo 時效果更好。

2024 年 4 月 11 日

  • 為期待已久的 1.0 版本做準備,已經穩定了一段時間了。
  • 一個長期缺失的重要功能:為具有扁平隱藏狀態或非標準模組佈局的 ViT 模型(目前涵蓋 'vit_*', 'twins_*', 'deit*', 'beit*', 'mvitv2*', 'eva*', 'samvit_*', 'flexivit*')提供 features_only=True 支援
  • 上述功能支援是透過一個新的 forward_intermediates() API 實現的,該 API 可以與特徵包裝模組一起使用或直接使用。
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])
  • 添加了 TinyCLIP 視覺塔權重,感謝 Thien Tran

2024 年 2 月 19 日

  • 添加了 Next-ViT 模型。改編自 https://github.com/bytedance/Next-ViT
  • 添加了 HGNet 和 PP-HGNetV2 模型。由 SeeFun 改編自 https://github.com/PaddlePaddle/PaddleClas
  • 移除了 setup.py,轉而使用 PDM 支援的基於 pyproject.toml 的構建方式
  • 添加了使用 _for_each 的更新模型 EMA 實現,以減少開銷
  • 在訓練指令碼中支援非 GPU 裝置的裝置引數
  • 其他雜項修復和小的補充
  • 最低支援的 Python 版本提高到 3.8
  • 釋出 0.9.16 版本

2024 年 1 月 8 日

資料集和變換重構

  • 支援 HuggingFace 流式(可迭代)資料集 (--dataset hfids:org/dataset)
  • Webdataset 包裝器調整,改進了分割資訊的獲取,可以從支援的 HF hub webdataset 自動獲取分割資訊
  • 測試了 HF datasets 和 webdataset 包裝器從 HF hub 流式傳輸最近上傳到 https://huggingface.co/timmtimm ImageNet 資料
  • 在所有資料集中保持輸入和目標列/欄位鍵的一致性,並透過引數傳遞
  • 在使用例如 --input-size 1 224 224--in-chans 1 時完全支援單色,並在資料集中適當設定 PIL 影像轉換
  • 改進了幾個備用裁剪和調整大小的變換(ResizeKeepRatio、RandomCropOrPad 等),用於 PixParse 文件 AI 專案
  • 向資料增強和引數中添加了 SimCLR 風格的顏色抖動機率,以及灰度和高斯模糊選項
  • 允許在訓練指令碼中不使用驗證集進行訓練 (--val-split '')
  • 在訓練中新增 --bce-sum(對類別維度求和)和 --bce-pos-weight(正樣本加權)引數,因為這些是我經常硬編碼的常見 BCE 損失調整

2023 年 11 月 23 日

  • 添加了 EfficientViT-Large 模型,感謝 SeeFun
  • 修復 Python 3.7 相容性,即將放棄對其的支援
  • 其他雜項修復
  • 釋出 0.9.12 版本

2023 年 11 月 20 日

2023 年 11 月 3 日

2023 年 10 月 20 日

  • SigLIP 影像塔權重在 `vision_transformer.py` 中得到支援。
    • 在微調和下游特徵使用方面有巨大潛力。
  • 根據 Vision Transformers Need Registers,vit 模型中增加了實驗性的“暫存器”支援
  • 更新了 RepViT,釋出了新的權重。感謝 wangao
  • 在載入預訓練權重時,為 Swin 模型添加了補丁大小調整支援
  • 即將釋出 0.9.8

2023 年 9 月 1 日

  • SeeFun 添加了 TinyViT
  • 修復 EfficientViT (MIT) 以使用 torch.autocast,使其能夠回溯到 PT 1.10 正常工作
  • 釋出 0.9.7 版本

2023 年 8 月 28 日

  • 在不破壞向後相容性的情況下,為 `vision_transformer.py`、`vision_transformer_hybrid.py`、`deit.py` 和 `eva.py` 中的模型添加了動態影像尺寸支援。
    • 在模型建立時新增 `dynamic_img_size=True` 引數,以允許更改網格大小(每次前向傳播時插值絕對和/或 ROPE 位置嵌入)。
    • 新增 `dynamic_img_pad=True` 以允許影像大小不能被補丁大小整除(每次前向傳播時在右下角填充到補丁大小)。
    • 除非將 PatchEmbed 模組新增為葉子節點,否則啟用任一動態模式都會破壞 FX 跟蹤。
    • 現有的透過在建立時傳遞不同的 `img_size` 來調整位置嵌入大小(一次性插值預訓練的嵌入權重)的方法仍然有效。
    • 現有透過在建立時更改 `patch_size`(一次性調整預訓練的 patch_embed 權重)的方法仍然有效。
    • 驗證命令示例 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

2023 年 8 月 25 日

2023 年 8 月 11 日

  • Swin、MaxViT、CoAtNet 和 BEiT 模型在建立時支援調整影像/視窗大小,並適配預訓練權重
  • 測試非方形調整大小的驗證命令示例 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

2023 年 8 月 3 日

  • 為 HRNet w18_small 和 w18_small_v2 新增 GluonCV 權重。由 SeeFun 轉換
  • 修復 `selecsls*` 模型命名迴歸問題
  • ViT/EVA 的補丁和位置嵌入在載入時適用於 bfloat16/float16 權重(或用於動態調整大小的啟用)
  • 準備 v0.9.5 釋出

2023 年 7 月 27 日

  • 添加了 timm 訓練的 seresnextaa201d_32x8d.sw_in12k_ft_in1k_384 權重(以及 .sw_in12k 預訓練),在 ImageNet-1k 上的 top-1 準確率達到 87.3%,是我所知的最佳 ImageNet ResNet 系列模型。
  • wangao 添加了 RepViT 模型和權重(https://arxiv.org/abs/2307.09283
  • SeeFun 添加了 I-JEPA ViT 特徵權重(無分類器)
  • SeeFun 添加了 SAM-ViT(segment anything)特徵權重(無分類器)
  • 為 EfficientNet 添加了對替代特徵提取方法和負索引的支援
  • 新增 NAdamW 最佳化器
  • 雜項修復

2023 年 5 月 11 日

  • timm 0.9 釋出,從 0.8.xdev 版本過渡

2023 年 5 月 10 日

  • Hugging Face Hub 下載現已成為預設設定,https://huggingface.co/timm 上有 1132 個模型,timm 中有 1163 個權重
  • 感謝 Leng Yue 添加了 DINOv2 vit 特徵主幹權重
  • 添加了 FB MAE vit 特徵主幹權重
  • 添加了 OpenCLIP DataComp-XL L/14 特徵主幹權重
  • Fredo Guan 添加了 MetaFormer(poolformer-v2、caformer、convformer、更新的 poolformer (v1))及其權重
  • 在 vit/deit 模型上增加了實驗性的 `get_intermediate_layers` 函式,用於獲取隱藏狀態(靈感來自 DINO 的實現)。此功能仍在開發中,可能會有較大變化……歡迎反饋。
  • 如果 `pretrained=True` 但沒有權重存在,模型建立會丟擲錯誤(而不是繼續使用隨機初始化)
  • 修復了源自 TF 的 inception / nasnet 權重在原始分類器中有 1001 個類別時的迴歸問題
  • 將 bitsandbytes (https://github.com/TimDettmers/bitsandbytes) 最佳化器新增到工廠,使用 `bnb` 字首,例如 `bnbadam8bit`
  • 雜項清理和修復
  • 在將 `timm` 從預釋出狀態轉為 0.9 版本之前的最終測試

2023 年 4 月 27 日

  • 97% 的 `timm` 模型已上傳至 HF Hub,並且幾乎所有模型都已更新以支援多權重預訓練配置
  • 隨著多權重支援的加入,對另一批模型進行了小幅清理和重構。增加了更多 fused_attn (F.sdpa) 和 features_only 支援,並修復了 torchscript。

2023 年 4 月 21 日

  • 在訓練指令碼中新增並測試了梯度累積支援(`--grad-accum-steps`),感謝 Taeksang Kim
  • HF Hub 上增加了更多權重(cspnet、cait、volo、xcit、tresnet、hardcorenas、densenet、dpn、vovnet、xception_aligned)
  • 向 train.py 添加了 `--head-init-scale` 和 `--head-init-bias`,用於縮放分類器頭部併為微調設定固定偏置
  • 移除了所有 InplaceABN (`inplace_abn`) 的使用,在 tresnet 中用標準 BatchNorm 替換(並相應修改了權重)。

2023 年 4 月 12 日

  • 添加了我一直以來使用的 ONNX 匯出指令碼、驗證指令碼和輔助函式。調整了“same”填充以更好地與最近的 ONNX + PyTorch 配合匯出。
  • 重構了 vit 及類似模型的 dropout 引數,將 drop_rate 分為 `drop_rate` (分類器 dropout)、`proj_drop_rate` (塊 mlp / 輸出投影)、`pos_drop_rate` (位置嵌入 drop)、`attn_drop_rate` (注意力 dropout)。同時向 vit 和 eva 模型添加了 patch dropout (FLIP)。
  • 為更多 vit 模型提供了融合的 F.scaled_dot_product_attention 支援,添加了環境變數 (TIMM_FUSED_ATTN) 進行控制,並提供了配置介面來啟用/停用
  • 添加了 EVA-CLIP 主幹網路和影像塔權重,最高支援到 4B 引數的“enormous”模型,以及之前遺漏的 336x336 OpenAI ViT 模型。

2023 年 4 月 5 日

  • 所有 ResNet 模型已推送到 Hugging Face Hub,並支援多權重
  • 為一些抗鋸齒 ResNet 模型提供了新的 ImageNet-12k + ImageNet-1k 微調
    • 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

2023 年 3 月 31 日

  • 新增首個 ConvNext-XXLarge CLIP -> IN-1k 微調,以及針對 convnext-base/large CLIP 模型的 IN-12k 中間微調。
模型 top1 top5 影像尺寸 引數數量 gmacs macts
convnext_xxlarge.clip_laion2b_soup_ft_in1k 88.612 98.704 256 846.47 198.09 124.45
convnext_large_mlp.clip_laion2b_soup_ft_in12k_in1k_384 88.312 98.578 384 200.13 101.11 126.74
convnext_large_mlp.clip_laion2b_soup_ft_in12k_in1k_320 87.968 98.47 320 200.13 70.21 88.02
convnext_base.clip_laion2b_augreg_ft_in12k_in1k_384 87.138 98.212 384 88.59 45.21 84.49
convnext_base.clip_laion2b_augreg_ft_in12k_in1k 86.344 97.97 256 88.59 20.09 37.55
  • 新增 EVA-02 MIM 預訓練和微調權重,推送到 HF hub 並更新所有 EVA 模型的模型卡。首個 top-1 準確率超過 90%(top-5 準確率 99%)的模型!請檢視原始程式碼和權重 https://github.com/baaivision/EVA 以獲取更多關於他們融合 MIM、CLIP 以及許多模型、資料集和訓練配方調整工作的詳細資訊。
模型 top1 top5 引數數量 影像尺寸
eva02_large_patch14_448.mim_m38m_ft_in22k_in1k 90.054 99.042 305.08 448
eva02_large_patch14_448.mim_in22k_ft_in22k_in1k 89.946 99.01 305.08 448
eva_giant_patch14_560.m30m_ft_in22k_in1k 89.792 98.992 1014.45 560
eva02_large_patch14_448.mim_in22k_ft_in1k 89.626 98.954 305.08 448
eva02_large_patch14_448.mim_m38m_ft_in1k 89.57 98.918 305.08 448
eva_giant_patch14_336.m30m_ft_in22k_in1k 89.56 98.956 1013.01 336
eva_giant_patch14_336.clip_ft_in1k 89.466 98.82 1013.01 336
eva_large_patch14_336.in22k_ft_in22k_in1k 89.214 98.854 304.53 336
eva_giant_patch14_224.clip_ft_in1k 88.882 98.678 1012.56 224
eva02_base_patch14_448.mim_in22k_ft_in22k_in1k 88.692 98.722 87.12 448
eva_large_patch14_336.in22k_ft_in1k 88.652 98.722 304.53 336
eva_large_patch14_196.in22k_ft_in22k_in1k 88.592 98.656 304.14 196
eva02_base_patch14_448.mim_in22k_ft_in1k 88.23 98.564 87.12 448
eva_large_patch14_196.in22k_ft_in1k 87.934 98.504 304.14 196
eva02_small_patch14_336.mim_in22k_ft_in1k 85.74 97.614 22.13 336
eva02_tiny_patch14_336.mim_in22k_ft_in1k 80.658 95.524 5.76 336
  • DeiT 和 MLP-Mixer 基礎模型的多權重和 HF Hub 支援

2023 年 3 月 22 日

  • 更多權重已推送到 HF hub,並支援多權重,包括:`regnet.py`、`rexnet.py`、`byobnet.py`、`resnetv2.py`、`swin_transformer.py`、`swin_transformer_v2.py`、`swin_transformer_v2_cr.py`
  • Swin Transformer 模型支援特徵提取(`swinv2_cr_*` 為 NCHW 特徵圖,其他所有模型為 NHWC)和空間嵌入輸出。
  • 添加了 FocalNet(來自 https://github.com/microsoft/FocalNet)模型和權重,並進行了大量重構,支援特徵提取,無固定解析度/大小限制
  • 隨著 HF hub 推送,RegNet 權重增加,包括 SWAG、SEER 和 torchvision v2 權重。SEER 在模型大小方面的效能相當差,但可能有用。
  • 更多 ImageNet-12k 預訓練和 1k 微調的 `timm` 權重
    • 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 - 在 224x224 解析度下 85.6,在 288x288 解析度下 86.0(與 SWAG PT + 1k FT 相比,結果相同但解析度低得多,遠超 SEER FT)
  • 添加了模型名稱棄用 + 重對映功能(這是將 0.8.x 從預釋出版中推出的一個里程碑)。正在新增對映…
  • 小錯誤修復和改進。

2023 年 2 月 26 日

  • 新增 ConvNeXt-XXLarge CLIP 預訓練影像塔權重用於微調和特徵提取(微調待定)—— 參見 模型卡
  • 更新 `convnext_xxlarge` 預設 LayerNorm eps 為 1e-5(用於 CLIP 權重,提高穩定性)
  • 0.8.15dev0

2023 年 2 月 20 日

  • 為特徵提取和微調新增 320x320 convnext_large_mlp.clip_laion2b_ft_320convnext_large_mlp.clip_laion2b_ft_soup_320 CLIP 影像塔權重
  • 釋出 0.8.13dev0 pypi 版本,包含遷移至 huggingface 組織的最新更改

2023 年 2 月 16 日

  • 新增 safetensor 檢查點支援
  • 新增來自“Scaling Vision Transformers to 22 B. Params”論文(https://arxiv.org/abs/2302.05442)的思路 — qk norm、RmsNorm、並行塊
  • vit_*vit_relpos_*coatnet/maxxvit(首批)新增 F.scaled_dot_product_attention 支援(僅限 PyTorch 2.0)
  • 新增 Lion 最佳化器(帶有多張量選項)(https://arxiv.org/abs/2302.06675
  • 梯度檢查點現在可與 features_only=True 配合使用

2023 年 2 月 7 日

  • results 資料夾中添加了新的推理基準測試資料。
  • 新增 convnext LAION CLIP 訓練權重和初始的 in1k 微調集
    • convnext_base.clip_laion2b_augreg_ft_in1k - 在 256x256 解析度下達到 86.2%
    • convnext_base.clip_laiona_augreg_ft_in1k_384 - 在 384x384 解析度下達到 86.5%
    • convnext_large_mlp.clip_laion2b_augreg_ft_in1k - 在 256x256 解析度下達到 87.3%
    • convnext_large_mlp.clip_laion2b_augreg_ft_in1k_384 - 在 384x384 解析度下達到 87.9%
  • 新增 DaViT 模型。支援 features_only=True。由 Fredohttps://github.com/dingmyu/davit 改編。
  • 在 MaxViT、ConvNeXt、DaViT 中使用通用的 NormMlpClassifierHead
  • 新增 EfficientFormer-V2 模型,更新 EfficientFormer,並重構 LeViT(架構緊密相關)。權重發布在 HF hub 上。
    • 新的 EfficientFormer-V2 架構,對原始版本(https://github.com/snap-research/EfficientFormer)進行了重大重構。支援 features_only=True
    • 對 EfficientFormer 的小幅更新。
    • 將 LeViT 模型重構為多階段結構,為新的 conv 變體新增 features_only=True 支援,需要權重重對映。
  • 將 ImageNet 元資料(synsets, indices)從 /results 移動到 timm/data/_info
  • 新增 ImageNetInfo / DatasetInfo 類,為 timm 中各種 ImageNet 分類器佈局提供標籤。
    • 更新 inference.py 以使用新功能,嘗試:python inference.py --data-dir /folder/to/images --model convnext_small.in12k --label-type detail --topk 5
  • 準備 0.8.10 pypi 預釋出版(最終測試)。

2023 年 1 月 20 日

  • 新增兩個 convnext 12k -> 1k 在 384x384 解析度下的微調模型

    • convnext_tiny.in12k_ft_in1k_384 - 85.1 @ 384
    • convnext_small.in12k_ft_in1k_384 - 86.2 @ 384
  • 將所有 MaxxViT 權重推送到 HF hub,併為 rw base MaxViT 和 CoAtNet 1/2 模型新增新的 ImageNet-12k -> 1k 微調模型

模型 top1 top5 樣本/秒 引數 (M) GMAC 啟用值 (M)
maxvit_xlarge_tf_512.in21k_ft_in1k 88.53 98.64 21.76 475.77 534.14 1413.22
maxvit_xlarge_tf_384.in21k_ft_in1k 88.32 98.54 42.53 475.32 292.78 668.76
maxvit_base_tf_512.in21k_ft_in1k 88.20 98.53 50.87 119.88 138.02 703.99
maxvit_large_tf_512.in21k_ft_in1k 88.04 98.40 36.42 212.33 244.75 942.15
maxvit_large_tf_384.in21k_ft_in1k 87.98 98.56 71.75 212.03 132.55 445.84
maxvit_base_tf_384.in21k_ft_in1k 87.92 98.54 104.71 119.65 73.80 332.90
maxvit_rmlp_base_rw_384.sw_in12k_ft_in1k 87.81 98.37 106.55 116.14 70.97 318.95
maxxvitv2_rmlp_base_rw_384.sw_in12k_ft_in1k 87.47 98.37 149.49 116.09 72.98 213.74
coatnet_rmlp_2_rw_384.sw_in12k_ft_in1k 87.39 98.31 160.80 73.88 47.69 209.43
maxvit_rmlp_base_rw_224.sw_in12k_ft_in1k 86.89 98.02 375.86 116.14 23.15 92.64
maxxvitv2_rmlp_base_rw_224.sw_in12k_ft_in1k 86.64 98.02 501.03 116.09 24.20 62.77
maxvit_base_tf_512.in1k 86.60 97.92 50.75 119.88 138.02 703.99
coatnet_2_rw_224.sw_in12k_ft_in1k 86.57 97.89 631.88 73.87 15.09 49.22
maxvit_large_tf_512.in1k 86.52 97.88 36.04 212.33 244.75 942.15
coatnet_rmlp_2_rw_224.sw_in12k_ft_in1k 86.49 97.90 620.58 73.88 15.18 54.78
maxvit_base_tf_384.in1k 86.29 97.80 101.09 119.65 73.80 332.90
maxvit_large_tf_384.in1k 86.23 97.69 70.56 212.03 132.55 445.84
maxvit_small_tf_512.in1k 86.10 97.76 88.63 69.13 67.26 383.77
maxvit_tiny_tf_512.in1k 85.67 97.58 144.25 31.05 33.49 257.59
maxvit_small_tf_384.in1k 85.54 97.46 188.35 69.02 35.87 183.65
maxvit_tiny_tf_384.in1k 85.11 97.38 293.46 30.98 17.53 123.42
maxvit_large_tf_224.in1k 84.93 96.97 247.71 211.79 43.68 127.35
coatnet_rmlp_1_rw2_224.sw_in12k_ft_in1k 84.90 96.96 1025.45 41.72 8.11 40.13
maxvit_base_tf_224.in1k 84.85 96.99 358.25 119.47 24.04 95.01
maxxvit_rmlp_small_rw_256.sw_in1k 84.63 97.06 575.53 66.01 14.67 58.38
coatnet_rmlp_2_rw_224.sw_in1k 84.61 96.74 625.81 73.88 15.18 54.78
maxvit_rmlp_small_rw_224.sw_in1k 84.49 96.76 693.82 64.90 10.75 49.30
maxvit_small_tf_224.in1k 84.43 96.83 647.96 68.93 11.66 53.17
maxvit_rmlp_tiny_rw_256.sw_in1k 84.23 96.78 807.21 29.15 6.77 46.92
coatnet_1_rw_224.sw_in1k 83.62 96.38 989.59 41.72 8.04 34.60
maxvit_tiny_rw_224.sw_in1k 83.50 96.50 1100.53 29.06 5.11 33.11
maxvit_tiny_tf_224.in1k 83.41 96.59 1004.94 30.92 5.60 35.78
coatnet_rmlp_1_rw_224.sw_in1k 83.36 96.45 1093.03 41.69 7.85 35.47
maxxvitv2_nano_rw_256.sw_in1k 83.11 96.33 1276.88 23.70 6.26 23.05
maxxvit_rmlp_nano_rw_256.sw_in1k 83.03 96.34 1341.24 16.78 4.37 26.05
maxvit_rmlp_nano_rw_256.sw_in1k 82.96 96.26 1283.24 15.50 4.47 31.92
maxvit_nano_rw_256.sw_in1k 82.93 96.23 1218.17 15.45 4.46 30.28
coatnet_bn_0_rw_224.sw_in1k 82.39 96.19 1600.14 27.44 4.67 22.04
coatnet_0_rw_224.sw_in1k 82.39 95.84 1831.21 27.44 4.43 18.73
coatnet_rmlp_nano_rw_224.sw_in1k 82.05 95.87 2109.09 15.15 2.62 20.34
coatnext_nano_rw_224.sw_in1k 81.95 95.92 2525.52 14.70 2.47 12.80
coatnet_nano_rw_224.sw_in1k 81.70 95.64 2344.52 15.14 2.41 15.41
maxvit_rmlp_pico_rw_256.sw_in1k 80.53 95.21 1594.71 7.52 1.85 24.86

2023 年 1 月 11 日

  • 更新 ConvNeXt ImageNet-12k 預訓練系列,增加兩個新的微調權重(以及預微調的 .in12k 標籤)
    • convnext_nano.in12k_ft_in1k - 在 224 解析度下 82.3,在 288 解析度下 82.9(之前已釋出)
    • convnext_tiny.in12k_ft_in1k - 84.2 @ 224, 84.5 @ 288
    • convnext_small.in12k_ft_in1k - 85.2 @ 224, 85.3 @ 288

2023 年 1 月 6 日

  • 終於為指令碼添加了 --model-kwargs--opt-kwargs,以便從命令列直接向模型類傳遞不常用的引數
    • 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
  • 清理了一些常用模型以更好地支援引數傳遞/與模型配置合併,更多工作待完成。

2023 年 1 月 5 日

2022 年 12 月 23 日 🎄☃

  • 新增來自 https://github.com/google-research/big_vision 的 FlexiViT 模型和權重(請參閱論文 https://arxiv.org/abs/2212.08013
    • 注意:目前調整大小在模型建立時是靜態的,動態調整/訓練時 patch 大小取樣功能仍在開發中
  • 更多模型已更新為多權重,並可透過 HF hub 下載(convnext, efficientnet, mobilenet, vision_transformer*, beit)
  • 更多模型預訓練標籤和調整,一些模型名稱已更改(正在處理棄用翻譯,目前請將主分支視為 DEV 分支,使用 0.6.x 以獲得穩定版本)
  • 更多 ImageNet-12k(22k 的子集)預訓練模型正在湧現
    • efficientnet_b5.in12k_ft_in1k - 在 448x448 解析度下達到 85.9
    • vit_medium_patch16_gap_384.in12k_ft_in1k - 在 384x384 解析度下達到 85.5
    • vit_medium_patch16_gap_256.in12k_ft_in1k - 在 256x256 解析度下達到 84.5
    • convnext_nano.in12k_ft_in1k - 在 288x288 解析度下達到 82.9

2022 年 12 月 8 日

  • vision_transformer.py 新增 ‘EVA l’,MAE 風格的 ViT-L/14 MIM 預訓練,使用 EVA-CLIP 目標,在 ImageNet-1k 上進行微調(部分模型在 ImageNet-22k 上進行中間微調)
模型 top1 引數數量 gmac macts hub
eva_large_patch14_336.in22k_ft_in22k_in1k 89.2 304.5 191.1 270.2 連結
eva_large_patch14_336.in22k_ft_in1k 88.7 304.5 191.1 270.2 連結
eva_large_patch14_196.in22k_ft_in22k_in1k 88.6 304.1 61.6 63.5 連結
eva_large_patch14_196.in22k_ft_in1k 87.9 304.1 61.6 63.5 連結

2022 年 12 月 6 日

模型 top1 引數數量 gmac macts hub
eva_giant_patch14_560.m30m_ft_in22k_in1k 89.8 1014.4 1906.8 2577.2 連結
eva_giant_patch14_336.m30m_ft_in22k_in1k 89.6 1013 620.6 550.7 連結
eva_giant_patch14_336.clip_ft_in1k 89.4 1013 620.6 550.7 連結
eva_giant_patch14_224.clip_ft_in1k 89.1 1012.6 267.2 192.6 連結

2022 年 12 月 5 日

  • 預釋出(0.8.0dev0)多權重支援(model_arch.pretrained_tag)。使用 pip install --pre timm 進行安裝
    • vision_transformer、maxvit、convnext 是首批支援該功能的模型實現
    • 模型名稱將隨之改變(之前的 _21k 等函式將合併),仍在解決棄用處理問題
    • 可能存在 bug,但我需要反饋,所以請試用一下
    • 如果需要穩定性,請使用 0.6.x pypi 版本或從 0.6.x 分支 克隆
  • 在 train/validate/inference/benchmark 中添加了對 PyTorch 2.0 compile 的支援,使用 --torchcompile 引數
  • 推理指令碼允許對輸出進行更多控制,可為 top-class 索引 + 機率選擇 k,並輸出為 json、csv 或 parquet 格式
  • 添加了來自 LAION-2B 和原始 OpenAI CLIP 模型的全套微調 CLIP 影像塔權重
模型 top1 引數數量 gmac macts hub
vit_huge_patch14_clip_336.laion2b_ft_in12k_in1k 88.6 632.5 391 407.5 連結
vit_large_patch14_clip_336.openai_ft_in12k_in1k 88.3 304.5 191.1 270.2 連結
vit_huge_patch14_clip_224.laion2b_ft_in12k_in1k 88.2 632 167.4 139.4 連結
vit_large_patch14_clip_336.laion2b_ft_in12k_in1k 88.2 304.5 191.1 270.2 連結
vit_large_patch14_clip_224.openai_ft_in12k_in1k 88.2 304.2 81.1 88.8 連結
vit_large_patch14_clip_224.laion2b_ft_in12k_in1k 87.9 304.2 81.1 88.8 連結
vit_large_patch14_clip_224.openai_ft_in1k 87.9 304.2 81.1 88.8 連結
vit_large_patch14_clip_336.laion2b_ft_in1k 87.9 304.5 191.1 270.2 連結
vit_huge_patch14_clip_224.laion2b_ft_in1k 87.6 632 167.4 139.4 連結
vit_large_patch14_clip_224.laion2b_ft_in1k 87.3 304.2 81.1 88.8 連結
vit_base_patch16_clip_384.laion2b_ft_in12k_in1k 87.2 86.9 55.5 101.6 連結
vit_base_patch16_clip_384.openai_ft_in12k_in1k 87 86.9 55.5 101.6 連結
vit_base_patch16_clip_384.laion2b_ft_in1k 86.6 86.9 55.5 101.6 連結
vit_base_patch16_clip_384.openai_ft_in1k 86.2 86.9 55.5 101.6 連結
vit_base_patch16_clip_224.laion2b_ft_in12k_in1k 86.2 86.6 17.6 23.9 連結
vit_base_patch16_clip_224.openai_ft_in12k_in1k 85.9 86.6 17.6 23.9 連結
vit_base_patch32_clip_448.laion2b_ft_in12k_in1k 85.8 88.3 17.9 23.9 連結
vit_base_patch16_clip_224.laion2b_ft_in1k 85.5 86.6 17.6 23.9 連結
vit_base_patch32_clip_384.laion2b_ft_in12k_in1k 85.4 88.3 13.1 16.5 連結
vit_base_patch16_clip_224.openai_ft_in1k 85.3 86.6 17.6 23.9 連結
vit_base_patch32_clip_384.openai_ft_in12k_in1k 85.2 88.3 13.1 16.5 連結
vit_base_patch32_clip_224.laion2b_ft_in12k_in1k 83.3 88.2 4.4 5 連結
vit_base_patch32_clip_224.laion2b_ft_in1k 82.6 88.2 4.4 5 連結
vit_base_patch32_clip_224.openai_ft_in1k 81.9 88.2 4.4 5 連結
  • 從官方實現 https://github.com/google-research/maxvit 移植的 MaxViT Tensorflow 權重
    • 對於上取樣的 384/512 in21k 微調權重,效能下降幅度超出預期,可能缺少細節,但 21k FT 似乎對小的預處理很敏感
模型 top1 引數數量 gmac macts hub
maxvit_xlarge_tf_512.in21k_ft_in1k 88.5 475.8 534.1 1413.2 連結
maxvit_xlarge_tf_384.in21k_ft_in1k 88.3 475.3 292.8 668.8 連結
maxvit_base_tf_512.in21k_ft_in1k 88.2 119.9 138 704 連結
maxvit_large_tf_512.in21k_ft_in1k 88 212.3 244.8 942.2 連結
maxvit_large_tf_384.in21k_ft_in1k 88 212 132.6 445.8 連結
maxvit_base_tf_384.in21k_ft_in1k 87.9 119.6 73.8 332.9 連結
maxvit_base_tf_512.in1k 86.6 119.9 138 704 連結
maxvit_large_tf_512.in1k 86.5 212.3 244.8 942.2 連結
maxvit_base_tf_384.in1k 86.3 119.6 73.8 332.9 連結
maxvit_large_tf_384.in1k 86.2 212 132.6 445.8 連結
maxvit_small_tf_512.in1k 86.1 69.1 67.3 383.8 連結
maxvit_tiny_tf_512.in1k 85.7 31 33.5 257.6 連結
maxvit_small_tf_384.in1k 85.5 69 35.9 183.6 連結
maxvit_tiny_tf_384.in1k 85.1 31 17.5 123.4 連結
maxvit_large_tf_224.in1k 84.9 211.8 43.7 127.4 連結
maxvit_base_tf_224.in1k 84.9 119.5 24 95 連結
maxvit_small_tf_224.in1k 84.4 68.9 11.7 53.2 連結
maxvit_tiny_tf_224.in1k 83.4 30.9 5.6 35.8 連結

2022 年 10 月 15 日

  • 訓練和驗證指令碼增強
  • 非 GPU(即 CPU)裝置支援
  • 訓練指令碼的 SLURM 相容性
  • HF 資料集支援(透過 ReaderHfds)
  • TFDS/WDS 資料載入改進(修復了分散式使用的樣本填充/包裹,與樣本計數估計相關)
  • 指令碼/載入器支援 in_chans !=3
  • Adan 最佳化器
  • 可透過引數啟用每步學習率排程
  • 資料集‘parsers’重新命名為‘readers’,更具描述性
  • AMP 引數更改,透過 --amp-impl apex 使用 APEX,透過 --amp-dtype bfloat16 支援 bfloat16
  • 主分支切換到 0.7.x 版本,0.6x 分支用於穩定釋出僅新增權重的版本
  • master -> main 分支重新命名

2022 年 10 月 10 日

  • maxxvit 系列新增更多權重,包括首個基於 ConvNeXt 塊的 coatnextmaxxvit 實驗
    • coatnext_nano_rw_224 - 82.0 @ 224 (G) — (使用 ConvNeXt 卷積塊,無 BatchNorm)
    • maxxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.7 @ 320 (G) (使用 ConvNeXt 卷積塊,無 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) — 訓練可以更好,超引數需要調整 (使用 ConvNeXt 塊,無 BN)
    • coatnet_rmlp_2_rw_224 - 84.6 @ 224, 85 @ 320 (T)
    • 注意:官方 MaxVit 權重 (in1k) 已在 https://github.com/google-research/maxvit 釋出 — 由於我的實現是獨立於他們的,並且存在一些微小差異,加上 TF 的 same padding 問題,需要一些額外的工作來移植和適配。

2022 年 9 月 23 日

  • 支援 LAION-2B CLIP 影像塔作為預訓練骨幹網路用於微調或特徵提取(無分類器)
    • vit_base_patch32_224_clip_laion2b
    • vit_large_patch14_224_clip_laion2b
    • vit_huge_patch14_224_clip_laion2b
    • vit_giant_patch14_224_clip_laion2b

2022 年 9 月 7 日

  • Hugging Face timm 文件主頁現已上線,未來將在此釋出更多內容
  • 新增來自 https://github.com/microsoft/unilm/tree/master/beit2 的 base 和 large 224x224 模型的 BEiT-v2 權重
  • maxxvit 系列中新增更多權重,包括一個 pico (7.5M 引數, 1.9 GMACs) 和兩個 tiny 變體
    • 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)

2022 年 8 月 29 日

  • MaxVit 視窗大小預設隨 img_size 縮放。新增利用此特性的 RelPosMlp MaxViT 權重
    • maxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.6 @ 320 (T)

2022 年 8 月 26 日

2022 年 8 月 15 日

  • 添加了 ConvNeXt atto 權重
    • convnext_atto - 75.7 @ 224, 77.0 @ 288
    • convnext_atto_ols - 75.9 @ 224, 77.2 @ 288

2022 年 8 月 5 日

  • 更多自定義的 ConvNeXt 小型模型定義及權重
    • 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 以改進 ONNX 匯出,新增新的 base 變體和來自原始倉庫(https://github.com/mmaaz60/EdgeNeXt)的權重

2022 年 7 月 28 日

  • 新增新鮮出爐的 DeiT-III Medium (width=512, depth=12, num_heads=8) 模型權重。感謝 Hugo Touvron!

2022 年 7 月 27 日

  • 所有執行時基準測試和驗證結果的 csv 檔案終於更新了!
  • 添加了更多權重和模型定義
    • 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
  • 以上 cs3* 權重均在 TPU 上使用 bits_and_tpu 分支訓練。感謝 TRC 專案!
  • 為 ConvNeXt 新增 output_stride=8 和 16 的支援(擴張卷積)
  • 修復了 deit3 模型無法調整 pos_emb 大小的問題
  • PyPi 0.6.7 版本釋出(包含自 0.6.5 以來的上述 bug 修復和新權重)

2022 年 7 月 8 日

更多模型,更多修復

  • 添加了官方研究模型(帶權重)
  • 我自己的模型
    • 應要求添加了小型 ResNet 定義,包含基礎塊和瓶頸塊的 1 次重複(resnet10 和 resnet14)
    • 使用 dataclass 配置重構了 CspNet,簡化了 CrossStage3 (cs3) 選項。這些更接近 YOLO-v5+ 的骨幹網路定義。
    • 更多相對位置 vit 實驗。訓練了兩個 srelpos (共享相對位置) 模型,以及一個帶 class token 的 medium 模型。
    • 為 EdgeNeXt 添加了備用下采樣模式,並訓練了一個 small 模型。比原始 small 模型好,但不如他們新訓練的 USI 權重。
  • 我自己的模型權重結果 (所有 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
  • 以上 cs3darknetvit_*relpos 權重均在 TPU 上訓練,感謝 TRC 專案!其餘在過熱的 GPU 上訓練。
  • 已驗證 Hugging Face Hub 支援修復,演示 notebook 待定
  • 預訓練權重/配置可從外部(如本地磁碟)載入,並支援頭部適配。
  • 新增支援以更改 timm 資料集/讀取器掃描的影像副檔名。請參閱 (https://github.com/rwightman/pytorch-image-models/pull/1274#issuecomment-1178303103)
  • 預設 ConvNeXt LayerNorm 實現在所有情況下透過 LayerNorm2d 使用 F.layer_norm(x.permute(0, 2, 3, 1), ...).permute(0, 3, 1, 2)
    • 在某些硬體(如 Ampere with CL)上比之前的自定義實現稍慢,但在更廣泛的硬體/PyTorch 版本範圍內的迴歸問題更少。
    • 之前的實現作為 LayerNormExp2d 存在於 models/layers/norm.py
  • 大量 bug 修復
  • 目前正在為即將釋出的 PyPi 0.6.x 版本進行測試
  • LeViT 較大模型的預訓練仍在進行中,沒有蒸餾的情況下訓練效果不佳/不易。是時候(終於)新增蒸餾支援了?
  • ImageNet-22k 權重訓練+微調正在進行中,多權重支援工作(緩慢地)推進中(權重太多了,唉)…

2022 年 5 月 13 日

  • 從 (https://github.com/microsoft/Swin-Transformer) 添加了官方 Swin-V2 模型和權重。已清理以支援 torchscript。
  • 對現有的 timm Swin-V2-CR 實現進行了一些重構,可能會做更多工作以使其部分更接近官方版本,並決定是否合併某些方面。
  • 更多 Vision Transformer 相對位置/殘差後歸一化實驗(全部在 TPU 上訓練,感謝 TRC 專案)
    • vit_relpos_small_patch16_224 - 81.5 @ 224, 82.5 @ 320 — 相對位置,層縮放,無類別標記,平均池化
    • vit_relpos_medium_patch16_rpn_224 - 82.3 @ 224, 83.1 @ 320 — 相對位置 + 殘差後歸一化,無類別標記,平均池化
    • vit_relpos_medium_patch16_224 - 82.5 @ 224, 83.3 @ 320 — 相對位置,層縮放,無類別標記,平均池化
    • vit_relpos_base_patch16_gapcls_224 - 82.8 @ 224, 83.9 @ 320 — 相對位置,層縮放,有類別標記,平均池化(錯誤地)
  • 恢復 512 維、8 頭‘medium’ ViT 模型變體(在 2020 年首次 ViT 實現中用於 DeiT ‘small’模型之前)
  • 新增 ViT 相對位置支援,以便在現有實現和官方 Swin-V2 實現中的一些新增功能之間切換,以供未來試驗
  • Sequencer2D 實現 (https://arxiv.org/abs/2205.01972),由作者 (https://github.com/okojoalg) 透過 PR 新增

2022 年 5 月 2 日

  • Vision Transformer 實驗,新增相對位置(Swin-V2 對數座標)(vision_transformer_relpos.py)和殘差後歸一化分支(來自 Swin-V2)(vision_transformer*.py
    • vit_relpos_base_patch32_plus_rpn_256 - 79.5 @ 256, 80.6 @ 320 — 相對位置 + 擴充套件寬度 + 殘差後歸一化,無類別標記,平均池化
    • vit_relpos_base_patch16_224 - 82.5 @ 224, 83.6 @ 320 — 相對位置,層縮放,無類別標記,平均池化
    • vit_base_patch16_rpn_224 - 82.3 @ 224 — 相對位置 + 殘差後歸一化,無類別標記,平均池化
  • Vision Transformer 重構,移除了僅在初始 vit 中使用且在新預訓練(如 How to Train Your ViT)中很少使用的表示層
  • vit_* 模型支援移除類別標記,使用全域性平均池化,使用 fc_norm(類似於 beit, mae)。

2022 年 4 月 22 日

  • timm 模型現在正式在 fast.ai 中得到支援!正好趕上新的實用深度學習課程。timmdocs 文件連結更新為 timm.fast.ai
  • 在 TPU 訓練的 系列中添加了另外兩個模型權重。一些 In22k 預訓練仍在進行中。
    • seresnext101d_32x8d - 83.69 @ 224, 84.35 @ 288
    • seresnextaa101d_32x8d (使用 AvgPool2d 進行抗鋸齒) - 83.85 @ 224, 84.57 @ 288

2022 年 3 月 23 日

  • 向基礎 vit 模型新增 ParallelBlockLayerScale 選項,以支援 關於 ViT,每個人都應該知道的三件事 中的模型配置
  • convnext_tiny_hnf (head norm first) 權重使用 (接近) A2 配方訓練,top-1 準確率 82.2%,增加訓練輪次可能會更好。

2022 年 3 月 21 日

  • 合併 norm_norm_norm重要提示 此更新為即將釋出的 0.6.x 版本,可能會在一段時間內破壞主分支的穩定性。如果需要穩定性,可以使用 0.5.x 分支或之前的 0.5.x 版本。
  • 版本 中描述的重大權重更新(全部在 TPU 上訓練)
    • 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 (頭部有額外的 fc)
    • 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
  • 修復了 HuggingFace hub 支援,併為允許預訓練模型定義和權重的替代‘配置源’(即將支援通用本地檔案/遠端 URL)奠定了初步基礎
  • 添加了 SwinTransformer-V2 實現。由 Christoph Reich 提交。我正在進行的訓練實驗和模型更改可能會導致相容性問題。
  • https://github.com/microsoft/Cream/tree/main/AutoFormerV2 新增 Swin-S3 (AutoFormerV2) 模型/權重
  • https://github.com/apple/ml-cvnets 適配的 MobileViT 模型及權重
  • https://github.com/sail-sg/poolformer 適配的 PoolFormer 模型及權重
  • https://github.com/sail-sg/volo 適配的 VOLO 模型及權重
  • 在實驗非 BatchNorm 歸一化層方面做了大量工作,如 EvoNorm、FilterResponseNorm、GroupNorm 等
  • 為多個模型(尤其是 EfficientNet/MobileNetV3、RegNet 和對齊的 Xception)增強了對備用歸一化+啟用(‘NormAct’)層的支援
  • 為 EfficientNet 系列添加了分組卷積支援
  • 為所有模型添加了‘組匹配’ API,以允許對模型引數進行分組以應用‘分層’學習率衰減,向學習率排程器添加了 lr_scale
  • 為許多模型添加了梯度檢查點支援
  • 為所有模型添加了 forward_head(x, pre_logits=False) 函式,以允許單獨呼叫 forward_features + forward_head
  • 所有 vision transformer 和 vision MLP 模型更新為從 forward_features 返回未池化/未選擇標記的特徵,以與 CNN 模型保持一致,標記選擇或池化現在在 forward_head 中應用

2022 年 2 月 2 日

  • Chris Hughes 昨天在他的部落格上釋出了一篇關於 timm 的詳盡介紹。非常值得一讀。 PyTorch Image Models (timm) 入門:實踐者指南
  • 我目前正準備在下週左右將 norm_norm_norm 分支合併回 master (版本 0.6.x)。
    • 這次的更改比以往更廣泛,可能會破壞一些模型 API 的使用(目標是完全向後相容)。因此,請注意 pip install git+https://github.com/rwightman/pytorch-image-models 的安裝!
    • 0.5.x 版本和 0.5.x 分支將保持穩定,並在塵埃落定前進行一兩次 cherry-pick。如果需要穩定,建議暫時堅持使用 pypi 安裝。

2022 年 1 月 14 日

  • 版本 0.5.4 將推送到 pypi。距離上次 pypi 更新已經有一段時間了,風險較大的更改很快將合併到主分支…
  • 新增來自官方實現的 ConvNeXT 模型/權重 (https://github.com/facebookresearch/ConvNeXt),進行了一些效能調整,與 timm 的功能相容
  • 嘗試訓練了一些小型 (~1.8-3M 引數) / 移動端最佳化的模型,目前有幾個效果不錯,更多正在路上…
    • 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
  • rsomani95 新增的 TinyNet 模型
  • 透過 MobileNetV3 架構添加了 LCNet

2023 年 1 月 5 日

2022 年 12 月 23 日 🎄☃

  • 新增來自 https://github.com/google-research/big_vision 的 FlexiViT 模型和權重(請參閱論文 https://arxiv.org/abs/2212.08013
    • 注意:目前調整大小在模型建立時是靜態的,動態調整/訓練時 patch 大小取樣功能仍在開發中
  • 更多模型已更新為多權重,並可透過 HF hub 下載(convnext, efficientnet, mobilenet, vision_transformer*, beit)
  • 更多模型預訓練標籤和調整,一些模型名稱已更改(正在處理棄用翻譯,目前請將主分支視為 DEV 分支,使用 0.6.x 以獲得穩定版本)
  • 更多 ImageNet-12k(22k 的子集)預訓練模型正在湧現
    • efficientnet_b5.in12k_ft_in1k - 在 448x448 解析度下達到 85.9
    • vit_medium_patch16_gap_384.in12k_ft_in1k - 在 384x384 解析度下達到 85.5
    • vit_medium_patch16_gap_256.in12k_ft_in1k - 在 256x256 解析度下達到 84.5
    • convnext_nano.in12k_ft_in1k - 在 288x288 解析度下達到 82.9

2022 年 12 月 8 日

  • vision_transformer.py 新增 ‘EVA l’,MAE 風格的 ViT-L/14 MIM 預訓練,使用 EVA-CLIP 目標,在 ImageNet-1k 上進行微調(部分模型在 ImageNet-22k 上進行中間微調)
模型 top1 引數數量 gmac macts hub
eva_large_patch14_336.in22k_ft_in22k_in1k 89.2 304.5 191.1 270.2 連結
eva_large_patch14_336.in22k_ft_in1k 88.7 304.5 191.1 270.2 連結
eva_large_patch14_196.in22k_ft_in22k_in1k 88.6 304.1 61.6 63.5 連結
eva_large_patch14_196.in22k_ft_in1k 87.9 304.1 61.6 63.5 連結

2022 年 12 月 6 日

模型 top1 引數數量 gmac macts hub
eva_giant_patch14_560.m30m_ft_in22k_in1k 89.8 1014.4 1906.8 2577.2 連結
eva_giant_patch14_336.m30m_ft_in22k_in1k 89.6 1013 620.6 550.7 連結
eva_giant_patch14_336.clip_ft_in1k 89.4 1013 620.6 550.7 連結
eva_giant_patch14_224.clip_ft_in1k 89.1 1012.6 267.2 192.6 連結

2022 年 12 月 5 日

  • 預釋出(0.8.0dev0)多權重支援(model_arch.pretrained_tag)。使用 pip install --pre timm 進行安裝
    • vision_transformer、maxvit、convnext 是首批支援該功能的模型實現
    • 模型名稱將隨之改變(之前的 _21k 等函式將合併),仍在解決棄用處理問題
    • 可能存在 bug,但我需要反饋,所以請試用一下
    • 如果需要穩定性,請使用 0.6.x pypi 版本或從 0.6.x 分支 克隆
  • 在 train/validate/inference/benchmark 中添加了對 PyTorch 2.0 compile 的支援,使用 --torchcompile 引數
  • 推理指令碼允許對輸出進行更多控制,可為 top-class 索引 + 機率選擇 k,並輸出為 json、csv 或 parquet 格式
  • 添加了來自 LAION-2B 和原始 OpenAI CLIP 模型的全套微調 CLIP 影像塔權重
模型 top1 引數數量 gmac macts hub
vit_huge_patch14_clip_336.laion2b_ft_in12k_in1k 88.6 632.5 391 407.5 連結
vit_large_patch14_clip_336.openai_ft_in12k_in1k 88.3 304.5 191.1 270.2 連結
vit_huge_patch14_clip_224.laion2b_ft_in12k_in1k 88.2 632 167.4 139.4 連結
vit_large_patch14_clip_336.laion2b_ft_in12k_in1k 88.2 304.5 191.1 270.2 連結
vit_large_patch14_clip_224.openai_ft_in12k_in1k 88.2 304.2 81.1 88.8 連結
vit_large_patch14_clip_224.laion2b_ft_in12k_in1k 87.9 304.2 81.1 88.8 連結
vit_large_patch14_clip_224.openai_ft_in1k 87.9 304.2 81.1 88.8 連結
vit_large_patch14_clip_336.laion2b_ft_in1k 87.9 304.5 191.1 270.2 連結
vit_huge_patch14_clip_224.laion2b_ft_in1k 87.6 632 167.4 139.4 連結
vit_large_patch14_clip_224.laion2b_ft_in1k 87.3 304.2 81.1 88.8 連結
vit_base_patch16_clip_384.laion2b_ft_in12k_in1k 87.2 86.9 55.5 101.6 連結
vit_base_patch16_clip_384.openai_ft_in12k_in1k 87 86.9 55.5 101.6 連結
vit_base_patch16_clip_384.laion2b_ft_in1k 86.6 86.9 55.5 101.6 連結
vit_base_patch16_clip_384.openai_ft_in1k 86.2 86.9 55.5 101.6 連結
vit_base_patch16_clip_224.laion2b_ft_in12k_in1k 86.2 86.6 17.6 23.9 連結
vit_base_patch16_clip_224.openai_ft_in12k_in1k 85.9 86.6 17.6 23.9 連結
vit_base_patch32_clip_448.laion2b_ft_in12k_in1k 85.8 88.3 17.9 23.9 連結
vit_base_patch16_clip_224.laion2b_ft_in1k 85.5 86.6 17.6 23.9 連結
vit_base_patch32_clip_384.laion2b_ft_in12k_in1k 85.4 88.3 13.1 16.5 連結
vit_base_patch16_clip_224.openai_ft_in1k 85.3 86.6 17.6 23.9 連結
vit_base_patch32_clip_384.openai_ft_in12k_in1k 85.2 88.3 13.1 16.5 連結
vit_base_patch32_clip_224.laion2b_ft_in12k_in1k 83.3 88.2 4.4 5 連結
vit_base_patch32_clip_224.laion2b_ft_in1k 82.6 88.2 4.4 5 連結
vit_base_patch32_clip_224.openai_ft_in1k 81.9 88.2 4.4 5 連結
  • 從官方實現 https://github.com/google-research/maxvit 移植的 MaxViT Tensorflow 權重
    • 對於上取樣的 384/512 in21k 微調權重,效能下降幅度超出預期,可能缺少細節,但 21k FT 似乎對小的預處理很敏感
模型 top1 引數數量 gmac macts hub
maxvit_xlarge_tf_512.in21k_ft_in1k 88.5 475.8 534.1 1413.2 連結
maxvit_xlarge_tf_384.in21k_ft_in1k 88.3 475.3 292.8 668.8 連結
maxvit_base_tf_512.in21k_ft_in1k 88.2 119.9 138 704 連結
maxvit_large_tf_512.in21k_ft_in1k 88 212.3 244.8 942.2 連結
maxvit_large_tf_384.in21k_ft_in1k 88 212 132.6 445.8 連結
maxvit_base_tf_384.in21k_ft_in1k 87.9 119.6 73.8 332.9 連結
maxvit_base_tf_512.in1k 86.6 119.9 138 704 連結
maxvit_large_tf_512.in1k 86.5 212.3 244.8 942.2 連結
maxvit_base_tf_384.in1k 86.3 119.6 73.8 332.9 連結
maxvit_large_tf_384.in1k 86.2 212 132.6 445.8 連結
maxvit_small_tf_512.in1k 86.1 69.1 67.3 383.8 連結
maxvit_tiny_tf_512.in1k 85.7 31 33.5 257.6 連結
maxvit_small_tf_384.in1k 85.5 69 35.9 183.6 連結
maxvit_tiny_tf_384.in1k 85.1 31 17.5 123.4 連結
maxvit_large_tf_224.in1k 84.9 211.8 43.7 127.4 連結
maxvit_base_tf_224.in1k 84.9 119.5 24 95 連結
maxvit_small_tf_224.in1k 84.4 68.9 11.7 53.2 連結
maxvit_tiny_tf_224.in1k 83.4 30.9 5.6 35.8 連結

2022 年 10 月 15 日

  • 訓練和驗證指令碼增強
  • 非 GPU(即 CPU)裝置支援
  • 訓練指令碼的 SLURM 相容性
  • HF 資料集支援(透過 ReaderHfds)
  • TFDS/WDS 資料載入改進(修復了分散式使用的樣本填充/包裹,與樣本計數估計相關)
  • 指令碼/載入器支援 in_chans !=3
  • Adan 最佳化器
  • 可透過引數啟用每步學習率排程
  • 資料集‘parsers’重新命名為‘readers’,更具描述性
  • AMP 引數更改,透過 --amp-impl apex 使用 APEX,透過 --amp-dtype bfloat16 支援 bfloat16
  • 主分支切換到 0.7.x 版本,0.6x 分支用於穩定釋出僅新增權重的版本
  • master -> main 分支重新命名

2022 年 10 月 10 日

  • maxxvit 系列新增更多權重,包括首個基於 ConvNeXt 塊的 coatnextmaxxvit 實驗
    • coatnext_nano_rw_224 - 82.0 @ 224 (G) — (使用 ConvNeXt 卷積塊,無 BatchNorm)
    • maxxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.7 @ 320 (G) (使用 ConvNeXt 卷積塊,無 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) — 訓練可以更好,超引數需要調整 (使用 ConvNeXt 塊,無 BN)
    • coatnet_rmlp_2_rw_224 - 84.6 @ 224, 85 @ 320 (T)
    • 注意:官方 MaxVit 權重 (in1k) 已在 https://github.com/google-research/maxvit 釋出 — 由於我的實現是獨立於他們的,並且存在一些微小差異,加上 TF 的 same padding 問題,需要一些額外的工作來移植和適配。

2022 年 9 月 23 日

  • 支援 LAION-2B CLIP 影像塔作為預訓練骨幹網路用於微調或特徵提取(無分類器)
    • vit_base_patch32_224_clip_laion2b
    • vit_large_patch14_224_clip_laion2b
    • vit_huge_patch14_224_clip_laion2b
    • vit_giant_patch14_224_clip_laion2b

2022 年 9 月 7 日

  • Hugging Face timm 文件主頁現已上線,未來將在此釋出更多內容
  • 新增來自 https://github.com/microsoft/unilm/tree/master/beit2 的 base 和 large 224x224 模型的 BEiT-v2 權重
  • maxxvit 系列中新增更多權重,包括一個 pico (7.5M 引數, 1.9 GMACs) 和兩個 tiny 變體
    • 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)

2022 年 8 月 29 日

  • MaxVit 視窗大小預設隨 img_size 縮放。新增利用此特性的 RelPosMlp MaxViT 權重
    • maxvit_rmlp_nano_rw_256 - 83.0 @ 256, 83.6 @ 320 (T)

2022 年 8 月 26 日

2022 年 8 月 15 日

  • 添加了 ConvNeXt atto 權重
    • convnext_atto - 75.7 @ 224, 77.0 @ 288
    • convnext_atto_ols - 75.9 @ 224, 77.2 @ 288

2022 年 8 月 5 日

  • 更多自定義的 ConvNeXt 小型模型定義及權重
    • 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 以改進 ONNX 匯出,新增新的 base 變體和來自原始倉庫(https://github.com/mmaaz60/EdgeNeXt)的權重

2022 年 7 月 28 日

  • 新增新鮮出爐的 DeiT-III Medium (width=512, depth=12, num_heads=8) 模型權重。感謝 Hugo Touvron!

2022 年 7 月 27 日

  • 所有執行時基準測試和驗證結果的 csv 檔案都已更新!
  • 添加了更多權重和模型定義
    • 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
  • 以上 cs3* 權重均在 TPU 上使用 bits_and_tpu 分支訓練。感謝 TRC 專案!
  • 為 ConvNeXt 新增 output_stride=8 和 16 的支援(擴張卷積)
  • 修復了 deit3 模型無法調整 pos_emb 大小的問題
  • PyPi 0.6.7 版本釋出(包含自 0.6.5 以來的上述 bug 修復和新權重)

2022 年 7 月 8 日

更多模型,更多修復

  • 添加了官方研究模型(帶權重)
  • 我自己的模型
    • 應要求添加了小型 ResNet 定義,包含基礎塊和瓶頸塊的 1 次重複(resnet10 和 resnet14)
    • 使用 dataclass 配置重構了 CspNet,簡化了 CrossStage3 (cs3) 選項。這些更接近 YOLO-v5+ 的骨幹網路定義。
    • 更多相對位置 vit 實驗。訓練了兩個 srelpos (共享相對位置) 模型,以及一個帶 class token 的 medium 模型。
    • 為 EdgeNeXt 添加了備用下采樣模式,並訓練了一個 small 模型。比原始 small 模型好,但不如他們新訓練的 USI 權重。
  • 我自己的模型權重結果 (所有 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
  • 以上 cs3darknetvit_*relpos 權重均在 TPU 上訓練,感謝 TRC 專案!其餘在過熱的 GPU 上訓練。
  • 已驗證 Hugging Face Hub 支援修復,演示 notebook 待定
  • 預訓練權重/配置可從外部(如本地磁碟)載入,並支援頭部適配。
  • 新增支援以更改 timm 資料集/解析器掃描的影像副檔名。請參閱 (https://github.com/rwightman/pytorch-image-models/pull/1274#issuecomment-1178303103)
  • 預設 ConvNeXt LayerNorm 實現在所有情況下透過 LayerNorm2d 使用 F.layer_norm(x.permute(0, 2, 3, 1), ...).permute(0, 3, 1, 2)
    • 在某些硬體(如 Ampere with CL)上比之前的自定義實現稍慢,但在更廣泛的硬體/PyTorch 版本範圍內的迴歸問題更少。
    • 之前的實現作為 LayerNormExp2d 存在於 models/layers/norm.py
  • 大量 bug 修復
  • 目前正在為即將釋出的 PyPi 0.6.x 版本進行測試
  • LeViT 較大模型的預訓練仍在進行中,沒有蒸餾的情況下訓練效果不佳/不易。是時候(終於)新增蒸餾支援了?
  • ImageNet-22k 權重訓練+微調正在進行中,多權重支援工作(緩慢地)推進中(權重太多了,唉)…

2022 年 5 月 13 日

  • 從 (https://github.com/microsoft/Swin-Transformer) 添加了官方 Swin-V2 模型和權重。已清理以支援 torchscript。
  • 對現有的 timm Swin-V2-CR 實現進行了一些重構,可能會做更多工作以使其部分更接近官方版本,並決定是否合併某些方面。
  • 更多 Vision Transformer 相對位置/殘差後歸一化實驗(全部在 TPU 上訓練,感謝 TRC 專案)
    • vit_relpos_small_patch16_224 - 81.5 @ 224, 82.5 @ 320 — 相對位置,層縮放,無類別標記,平均池化
    • vit_relpos_medium_patch16_rpn_224 - 82.3 @ 224, 83.1 @ 320 — 相對位置 + 殘差後歸一化,無類別標記,平均池化
    • vit_relpos_medium_patch16_224 - 82.5 @ 224, 83.3 @ 320 — 相對位置,層縮放,無類別標記,平均池化
    • vit_relpos_base_patch16_gapcls_224 - 82.8 @ 224, 83.9 @ 320 — 相對位置,層縮放,有類別標記,平均池化(錯誤地)
  • 恢復 512 維、8 頭‘medium’ ViT 模型變體(在 2020 年首次 ViT 實現中用於 DeiT ‘small’模型之前)
  • 新增 ViT 相對位置支援,以便在現有實現和官方 Swin-V2 實現中的一些新增功能之間切換,以供未來試驗
  • Sequencer2D 實現 (https://arxiv.org/abs/2205.01972),由作者 (https://github.com/okojoalg) 透過 PR 新增

2022 年 5 月 2 日

  • Vision Transformer 實驗,新增相對位置(Swin-V2 對數座標)(vision_transformer_relpos.py)和殘差後歸一化分支(來自 Swin-V2)(vision_transformer*.py
    • vit_relpos_base_patch32_plus_rpn_256 - 79.5 @ 256, 80.6 @ 320 — 相對位置 + 擴充套件寬度 + 殘差後歸一化,無類別標記,平均池化
    • vit_relpos_base_patch16_224 - 82.5 @ 224, 83.6 @ 320 — 相對位置,層縮放,無類別標記,平均池化
    • vit_base_patch16_rpn_224 - 82.3 @ 224 — 相對位置 + 殘差後歸一化,無類別標記,平均池化
  • Vision Transformer 重構,移除了僅在初始 vit 中使用且在新預訓練(如 How to Train Your ViT)中很少使用的表示層
  • vit_* 模型支援移除類別標記,使用全域性平均池化,使用 fc_norm(類似於 beit, mae)。

2022 年 4 月 22 日

  • timm 模型現在正式在 fast.ai 中得到支援!正好趕上新的實用深度學習課程。timmdocs 文件連結更新為 timm.fast.ai
  • 在 TPU 訓練的 系列中添加了另外兩個模型權重。一些 In22k 預訓練仍在進行中。
    • seresnext101d_32x8d - 83.69 @ 224, 84.35 @ 288
    • seresnextaa101d_32x8d (使用 AvgPool2d 進行抗鋸齒) - 83.85 @ 224, 84.57 @ 288

2022 年 3 月 23 日

  • 向基礎 vit 模型新增 ParallelBlockLayerScale 選項,以支援 關於 ViT,每個人都應該知道的三件事 中的模型配置
  • convnext_tiny_hnf (head norm first) 權重使用 (接近) A2 配方訓練,top-1 準確率 82.2%,增加訓練輪次可能會更好。

2022 年 3 月 21 日

  • 合併 norm_norm_norm重要提示 此更新為即將釋出的 0.6.x 版本,可能會在一段時間內破壞主分支的穩定性。如果需要穩定性,可以使用 0.5.x 分支或之前的 0.5.x 版本。
  • 版本 中描述的重大權重更新(全部在 TPU 上訓練)
    • 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 (頭部有額外的 fc)
    • 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
  • 修復了 HuggingFace hub 支援,併為允許預訓練模型定義和權重的替代‘配置源’(即將支援通用本地檔案/遠端 URL)奠定了初步基礎
  • 添加了 SwinTransformer-V2 實現。由 Christoph Reich 提交。我正在進行的訓練實驗和模型更改可能會導致相容性問題。
  • https://github.com/microsoft/Cream/tree/main/AutoFormerV2 新增 Swin-S3 (AutoFormerV2) 模型/權重
  • https://github.com/apple/ml-cvnets 適配的 MobileViT 模型及權重
  • https://github.com/sail-sg/poolformer 適配的 PoolFormer 模型及權重
  • https://github.com/sail-sg/volo 適配的 VOLO 模型及權重
  • 在實驗非 BatchNorm 歸一化層方面做了大量工作,如 EvoNorm、FilterResponseNorm、GroupNorm 等
  • 為多個模型(尤其是 EfficientNet/MobileNetV3、RegNet 和對齊的 Xception)增強了對備用歸一化+啟用(‘NormAct’)層的支援
  • 為 EfficientNet 系列添加了分組卷積支援
  • 為所有模型添加了‘組匹配’ API,以允許對模型引數進行分組以應用‘分層’學習率衰減,向學習率排程器添加了 lr_scale
  • 為許多模型添加了梯度檢查點支援
  • 為所有模型添加了 forward_head(x, pre_logits=False) 函式,以允許單獨呼叫 forward_features + forward_head
  • 所有 vision transformer 和 vision MLP 模型更新為從 forward_features 返回未池化/未選擇標記的特徵,以與 CNN 模型保持一致,標記選擇或池化現在在 forward_head 中應用

2022 年 2 月 2 日

  • Chris Hughes 昨天在他的部落格上釋出了一篇關於 timm 的詳盡介紹。非常值得一讀。 PyTorch Image Models (timm) 入門:實踐者指南
  • 我目前正準備在下週左右將 norm_norm_norm 分支合併回 master (版本 0.6.x)。
    • 這次的更改比以往更廣泛,可能會破壞一些模型 API 的使用(目標是完全向後相容)。因此,請注意 pip install git+https://github.com/rwightman/pytorch-image-models 的安裝!
    • 0.5.x 版本和 0.5.x 分支將保持穩定,並在塵埃落定前進行一兩次 cherry-pick。如果需要穩定,建議暫時堅持使用 pypi 安裝。

2022 年 1 月 14 日

  • 版本 0.5.4 將推送到 pypi。距離上次 pypi 更新已經有一段時間了,風險較大的更改很快將合併到主分支…
  • 新增來自官方實現的 ConvNeXT 模型/權重 (https://github.com/facebookresearch/ConvNeXt),進行了一些效能調整,與 timm 的功能相容
  • 嘗試訓練了一些小型 (~1.8-3M 引數) / 移動端最佳化的模型,目前有幾個效果不錯,更多正在路上…
    • 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
  • rsomani95 新增的 TinyNet 模型
  • 透過 MobileNetV3 架構添加了 LCNet
< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.