教程:如何用單GPU一行命令快速評估 ImageNet 圖像分類準確率)
LeViT 推理實戰(zhàn)教程如何用單GPU一行命令快速評估 ImageNet 圖像分類準確率【免費下載鏈接】LeViTLeViT a Vision Transformer in ConvNets Clothing for Faster Inference項目地址: https://gitcode.com/gh_mirrors/le/LeViT關鍵詞LeViT 推理、Vision Transformer 圖像分類、ImageNet 評估、單 GPU 部署LeViT 是一款穿著卷積外衣的視覺 TransformerVision Transformer由 Meta AI 提出核心目標就是在保持高精度的同時實現更快的圖像分類推理。本文帶你用最少的步驟在單 GPU 上用一條命令完成 LeViT 預訓練模型在 ImageNet 驗證集上的準確率評估幫你快速完成部署驗證。 為什么選擇 LeViT 做圖像分類傳統(tǒng) Vision Transformer如 DeiT精度高但推理速度往往跟不上。LeViT 通過卷積下采樣 分塊注意力的混合結構在速度與精度之間取得了出色的平衡模型Acc1Acc5FLOPs參數量LeViT-128S76.692.9305M7.8MLeViT-12878.694.0406M9.2MLeViT-19280.094.7658M11MLeViT-25681.695.41120M19MLeViT-38482.696.02353M39M在 GPU 上LeViT-256 能以約5000 張圖/秒的吞吐達到 81.6% 的 Top-1 精度遠超同精度下的 EfficientNet 系列。上圖LeViT 家族與 EfficientNet、DeiT 在單 CPU 核與單 GPU 上的 ImageNet Top-1 準確率 vs. 吞吐對比綠色曲線即 LeViT 系列。 環(huán)境準備最快配置方法1?? 克隆代碼倉庫git clone https://gitcode.com/gh_mirrors/le/LeViT cd LeViT2?? 安裝依賴需要PyTorch 1.7.0和torchvision 0.8.1以及圖像模型庫timmconda install -c pytorch pytorch torchvision pip install timm3?? 準備 ImageNet 數據將 ImageNet 2012 解壓為標準 ImageFolder 目錄結構train/與val/兩個子目錄每個類別一個文件夾/path/to/imagenet/ train/ class1/ class2/ val/ class1/ class2/ 只做評估的話只需要val/驗證集即可。 單 GPU 一行命令評估 ImageNet 準確率這是本文的核心操作。進入項目根目錄后執(zhí)行python main.py --eval --model LeViT_256 --data-path /path/to/imagenet參數含義很簡單--eval只評估不訓練對應 main.py 中args.eval分支直接調用 engine.py 里的evaluate()函數--model模型規(guī)格可選LeViT_128S / LeViT_128 / LeViT_192 / LeViT_256 / LeViT_384模型定義見 levit_c.py--data-path你的 ImageNet 數據目錄評估完成后你會看到類似這樣的輸出* Acc1 81.636 Acc5 95.424 loss 0.750這與官方公布的 LeViT-256 精度81.6 / 95.4基本一致說明模型與部署環(huán)境都工作正常 ?。 如何挑選適合你的 LeViT 模型場景推薦模型理由移動端 / 極致低延遲LeViT-128S僅 7.8M 參數305M FLOPs通用分類任務推薦起步LeViT-256精度/速度最佳平衡點追求最高精度LeViT-384Top-1 達 82.6%把命令中的--model換成對應規(guī)格即可例如評估輕量版python main.py --eval --model LeViT_128S --data-path /path/to/imagenet? 進階從評估走向訓練驗證完推理效果后如果你想用自己的數據微調或從頭訓練項目同樣內置了完整訓練流程基于 engine.py、losses.py 的知識蒸餾損失python -m torch.distributed.launch --nproc_per_node8 --use_env \ main.py --model LeViT_256 --data-path /path/to/imagenet \ --output_dir /path/to/save多節(jié)點訓練則可以通過 run_with_submitit.py 提交 Slurm 作業(yè)。? 小結LeViT 用卷積做下采樣、注意力做特征交互是兼顧速度與精度的圖像分類利器單 GPU 一行python main.py --eval即可在 ImageNet 上驗證 81.6% Top-1 的預訓練精度按需切換LeViT_128S ~ LeViT_384五個規(guī)格覆蓋從移動端到高精度服務器場景現在你可以把 LeViT 快速部署到自己的圖像分類業(yè)務中了 【免費下載鏈接】LeViTLeViT a Vision Transformer in ConvNets Clothing for Faster Inference項目地址: https://gitcode.com/gh_mirrors/le/LeViT創(chuàng)作聲明:本文部分內容由AI輔助生成(AIGC),僅供參考