尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

如何安装 timm 并首次加载预训练模型在 validate.py 上完成 ImageNet 验证?

如何安装 timm 并首次加载预训练模型在 validate.py 上完成 ImageNet 验证? 如何安装 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),仅供参考
返回列表