
如何安裝 timm 并首次加載預訓練模型在 validate.py 上完成 ImageNet 驗證【免費下載鏈接】pytorch-image-modelsThe largest collection of PyTorch image encoders / backbones. Including train, eval, inference, export scripts, and pretrained weights -- ResNet, ResNeXT, EfficientNet, NFNet, Vision Transformer (ViT), MobileNetV4, MobileNet-V3 V2, RegNet, DPN, CSPNet, Swin Transformer, MaxViT, CoAtNet, ConvNeXt, and more項目地址: https://gitcode.com/GitHub_Trending/py/pytorch-image-models這篇文章對應一個具體的首次上手任務安裝 PyTorch Image Modelstimm用create_model加載一個帶預訓練權重的模型然后運行倉庫根目錄的 validate.py 腳本在 ImageNet 驗證集上跑一次完整評估拿到 Acc1 / Acc5 結果。適用前提是文檔說明的 Python 3 環境pyproject.toml 中requires-python 3.8以及你手上已有一份 ImageNet 驗證圖像數據。選安裝方式pip 版裝不到 validate.py先看清楚一個關鍵限制腳本文檔明確說明倉庫根目錄的 train、validation、inference 腳本不包含在 pip 發行版中Scripts are not currently packaged in the pip release。也就是說如果只執行pip install timmPython API 可用但找不到validate.py這個文件。要跑validate.py主路徑是從源碼安裝克隆倉庫用pip install -e .以可編輯模式安裝timm腳本隨倉庫目錄一起使用。mkdir ~/my-project cd ~/my-project python -m venv .env source .env/bin/activate git clone https://gitcode.com/GitHub_Trending/py/pytorch-image-models.git cd pytorch-image-models pip install -e .安裝步驟與目錄組織來自 安裝文檔。如果你只用 Python APIcreate_model等、不跑倉庫腳本文檔給出的最短安裝方式是pip install timm并建議放在虛擬環境里避免依賴沖突。驗證安裝確認能列出預訓練模型安裝完成后用文檔給出的命令檢查timm是否可用python -c from timm import list_models; print(list_models(pretrainedTrue)[:5])該命令打印timm中按字母排序的前 5 個帶預訓練權重的模型。文檔示例輸出如下安裝文檔原文作為示例結果不同版本下列表可能有差異[adv_inception_v3, bat_resnext26ts, beit_base_patch16_224, beit_base_patch16_224_in22k, beit_base_patch16_384]能正常打印模型名列表說明安裝成功、預訓練權重索引可讀。選模型時可以用通配符篩選例如 快速上手文檔中展示的 import timm model_names timm.list_models(*resne*t*) model_names [ cspresnet50, cspresnet50d, ... ]list_models(pretrainedTrue)只會返回確實有預訓練權重關聯的模型名后面--pretrained驗證流程選模型時應以這個列表為準。首次加載預訓練模型用timm.create_model加載預訓練模型。以文檔中的mobilenetv3_large_100為例import timm m timm.create_model(mobilenetv3_large_100, pretrainedTrue) m.eval()注意文檔強調的一點返回的 PyTorch 模型默認處于 train 模式如果用于推理或驗證必須調用.eval()。validate.py腳本內部會自行調用model.eval()見 validate.py 的驗證循環所以腳本流程不需要你手動處理但自己寫推理代碼時必須記得。用 validate.py 跑 ImageNet 驗證數據目錄有一個容易踩的坑腳本文檔明確區分了兩種用法訓練腳本的--data-dir指向同時包含train和validation子目錄的根目錄而驗證腳本的--data-dir要直接指向存放驗證圖像的文件夾。文檔給出的用預訓練權重做驗證的示例命令模型名與數據路徑為文檔示例--data-dir替換為你本機的驗證集目錄python validate.py --data-dir /imagenet/validation/ --model seresnext26_32x4d --pretrained命令在倉庫根目錄下執行validate.py所在處。主要參數的含義以下列自 validate.py 的參數定義參數默認值說明--data-dir無必填指向驗證圖像所在文件夾舊的單參數data位置參數已標記 deprecated--model/-mdpn92模型架構名取list_models中有權重的名字--pretrained關加載該模型的預訓練權重-b/--batch-size256批大小顯存不足時用-b調小-j/--workers4數據加載 worker 數--devicecuda計算設備無 GPU 的機器可傳--device cpu--amp關可選使用 PyTorch 原生 AMP 混合精度推理--results-file空不寫文件可選把結果寫到 csv默認或 json 文件--retry關可選失敗時衰減批大小并自動重試其中--amp和--device cpu屬于可選分支文檔示例命令未加 AMP默認設備是cuda。顯存跑不動默認批大小 256 時優先降-b--retry會讓腳本在遇到RuntimeError時自動減小批大小重試對應 validate.py 中_try_run的衰減重試邏輯。判斷驗證是否成功看三處輸出跑起來后按順序看三處輸出逐批日志腳本每 10 個 batch--log-freq默認值 10打印一條Test: [idx/總數]日志包含 Time、吞吐、Loss、Acc1、Acc5 的當前值與累計均值。能看到批進度持續推進、Acc 均值穩定說明數據管道和推理都在正常工作。收尾匯總行全部批跑完后打印一行* Acc1 {top1} ({top1_err}) Acc5 {top5} ({top5_err})格式的匯總top-1 誤差 100 - top-1 準確率。JSON 結果塊最后會向 stdout 打印以--result開頭的一段 JSON包含model、top1、top1_err、top5、top5_err、param_count、img_size、crop_pct、interpolation等字段。加上--results-file results.csv可以把同樣字段寫進 CSV 文件--results-format json可切 JSON。文檔沒有給出“多少準確率算通過”的判定標準倉庫 results/ 目錄存放了各模型在 ImageNet 及多個 OOD 數據集上的參考結果 CSV可以拿你驗證的模型名去對照量級是否合理。限制與注意腳本必須來自源碼安裝pip 版不含validate.py這是本文主路徑選擇pip install -e .的原因。數據需自行準備文檔只說明--data-dir指向驗證圖像文件夾沒有提供 ImageNet 數據的下載步驟數據集需你自備且按 ImageFolder/ImageTar 約定組織--dataset留空時默認按此解析--split默認validation。模型必須有權重--pretrained只對list_models(pretrainedTrue)列表中的模型名有意義選了沒有預訓練權重的變體加載不到權重。若只想用 Python API 驗證模型能否前向不必跑腳本create_model(..., pretrainedTrue)后對任意(1, 3, H, W)輸入做一次前向即可權重下載地址等信息可在模型的pretrained_cfg中查看見 快速上手文檔。【免費下載鏈接】pytorch-image-modelsThe largest collection of PyTorch image encoders / backbones. Including train, eval, inference, export scripts, and pretrained weights -- ResNet, ResNeXT, EfficientNet, NFNet, Vision Transformer (ViT), MobileNetV4, MobileNet-V3 V2, RegNet, DPN, CSPNet, Swin Transformer, MaxViT, CoAtNet, ConvNeXt, and more項目地址: https://gitcode.com/GitHub_Trending/py/pytorch-image-models創作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考