3步跑通 timm:预训练视觉模型一站搞定
【免费下载链接】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
timm 是个 PyTorch 图像分类模型库,一行代码给你上百个预训练视觉模型。这篇带你从零装到跑通第一个 ResNet 推理,3步搞定,不用再翻文档找入口。
它到底能干什么
说白了就是一个"视觉模型超市"。ResNet、EfficientNet、ViT、Swin、ConvNeXt 这些主流架构全在仓库里躺好,连训练好的权重一起带。
- 加载 500+ 模型家族的预训练权重,一行
create_model搞定 - 自带数据增强(Mixup、CutMix、RandAugment 等)和预处理工具
- 内置 20+ 优化器和学习率调度器,写训练循环省事
- 提供可参考的 训练脚本 和 推理脚本,可直接改
- 所有模型统一 API:
forward_features抽特征、reset_classifier换分类头
技术底座一览
- PyTorch(≥1.7)— 计算底座,张量运算和自动求导全靠它
- TorchVision— 图像处理和数据集基础
- Hugging Face Hub— 预训练权重的下载来源
- safetensors— 更安全、更快的模型权重存储格式
- numpy / pyyaml— 数据处理和配置文件解析
动手前:环境检查清单
先确认这几样,省得中途卡住:
✅ Python 3.10+(官方最高测到 3.13) ✅ PyTorch 1.7+(建议 2.x,GPU 版注意 CUDA 匹配) ✅ pip(能正常安装包) ✅ Git □ 能访问 Hugging Face Hub(首次加载模型时权重从这下载)
3步装好 timm
克隆仓库
把源码拉到本地:
git clone https://gitcode.com/GitHub_Trending/py/pytorch-image-models cd pytorch-image-models装依赖
按 requirements.txt 把基础依赖先装齐:
pip install -r requirements.txt装本体 + 验一下
以可编辑模式安装,再打印版本号确认:
pip install -e . python -c "import timm; print(timm.__version__)"打印出版本号(比如1.0.29),就算装好了。
跑通第一个模型
下面这段加载一个预训练 ResNet-50,丢一张随机 224x224 的图进去看输出:
import torch import timm model = timm.create_model('resnet50', pretrained=True).eval() x = torch.randn(1, 3, 224, 224) print(model(x).shape)预期输出torch.Size([1, 1000])——1000 个数字对应 ImageNet 1000 类,最大的那类就是模型猜的结果。
容易踩的坑
KeyError,找不到模型名→ 那个名字没预训练权重(部分变体只有代码)→ 先用timm.list_models(pretrained=True)过滤出有权重的再选。
首次运行卡住甚至超时→pretrained=True第一次会从 Hugging Face Hub 拉权重,几十上百 MB → 确认网络畅通,权重有缓存,第二次就快了。
推理结果抖动、时准时不准→ 忘了.eval(),dropout 还在生效 → 推理前一定调model.eval()。
准确率莫名低→ 预处理跟模型训练时对不上 → 用timm.data.create_transform(**timm.data.resolve_data_config(model.pretrained_cfg))生成匹配的变换,别手搓尺寸。
timm 装好跑通只是开始,几百个模型随便挑一个create_model就能用。想在自己数据集上微调,直接看仓库根目录的 train.py 和 validate.py。
【免费下载链接】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),仅供参考