news 2026/8/26 19:51:12

5分钟快速上手:用Hugging Face transformers加载并运行pvt_v2_b0图像分类

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
5分钟快速上手:用Hugging Face transformers加载并运行pvt_v2_b0图像分类

5分钟快速上手:用Hugging Face transformers加载并运行pvt_v2_b0图像分类

【免费下载链接】pvt_v2_b0项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/pvt_v2_b0

本教程带你用 Hugging Facetransformers库,在 5 分钟内完成 pvt_v2_b0 图像分类模型的加载与运行:从安装依赖到对第一张图片完成推理。pvt_v2_b0 是 OpenGVLab 基于 PVTv2(Pyramid Vision Transformer v2)的轻量级图像分类模型,纯 CPU 即可运行,非常适合初学者体验 Transformer 视觉模型。

pvt_v2_b0 是什么?30秒看懂这个模型

PVTv2 是一个轻量级层级式视觉 Transformer 骨干网络:它在 Transformer 层中融入卷积操作,兼具 CNN 的高效局部特征提取能力与 Transformer 的长程依赖建模能力,并输出多尺度特征图,被 SegFormer、Deformable DETR 等主流视觉模型广泛采用。

pvt_v2_b0中的b0表示 PVTv2 家族中最轻量的档位,参数仅数百万,是本地跑通的理想入门选择。整个仓库只有 4 个核心文件,各司其职:

文件作用
README.md模型说明与背景介绍
config.json模型结构与分类标签设置
model.safetensors模型权重文件
preprocessor_config.json图像预处理参数

几个关键架构参数,可在 config.json 中确认(architecturesPvtV2ForImageClassification):

参数取值含义
hidden_sizes32 / 64 / 160 / 2564 个层级阶段的通道宽度
num_attention_heads1 / 2 / 5 / 8各阶段注意力头数
patch_sizes7 / 3 / 3 / 3各阶段的图像块大小
sr_ratios8 / 4 / 2 / 1空间缩减比,轻量化的关键
torch_dtypefloat32权重精度

第一步:一键安装依赖

只需安装transformers与 PyTorch,无需编译任何源码:

pip install transformers torch pillow requests

💡 若处于国内网络环境,建议先把模型克隆到本地:

git clone https://gitcode.com/hf_mirrors/OpenGVLab/pvt_v2_b0

之后把下文代码里的model_id换成本地目录pvt_v2_b0即可离线加载。

第二步:三步加载模型并跑通推理

核心只有三件事:加载预处理器 → 加载分类模型 → 送入图片。完整代码如下:

from transformers import AutoImageProcessor, AutoModelForImageClassification from PIL import Image import requests model_id = "OpenGVLab/pvt_v2_b0" # 1. 加载图像预处理器和图像分类模型 processor = AutoImageProcessor.from_pretrained(model_id) model = AutoModelForImageClassification.from_pretrained(model_id) # 2. 打开一张图片(本地图片路径同样适用) url = "http://images.cocodataset.org/val2017/000000039769.jpg" image = Image.open(requests.get(url, stream=True).raw) # 3. 预处理 + 推理 inputs = processor(image, return_tensors="pt") outputs = model(**inputs) predicted_id = outputs.logits.argmax().item() print("预测索引:", predicted_id) print("标签:", model.config.id2label[predicted_id])

运行后即可输出图片的分类索引与标签。该模型已在 ImageNet-1k 上微调(共 1000 类,见 config.json 中的id2label),结果可放心参考。

⚡ 赶时间的话,transformerspipelineAPI 两行搞定:

from transformers import pipeline clf = pipeline("image-classification", model="OpenGVLab/pvt_v2_b0") print(clf(image)[0])

第三步:理解自动图像预处理做了什么

把图片交给processor后,PvtImageProcessor会按 preprocessor_config.json 的参数自动完成三件事:

  1. 缩放:统一缩放到 224×224(双线性插值);
  2. 缩放像素值:从 0~255 归一到 0~1;
  3. 标准化:按 ImageNet 均值[0.485, 0.456, 0.406]、标准差[0.229, 0.224, 0.225]做标准化。

🔍 这些参数与训练时完全一致,模型"看到"的数据分布因此保持一致——你无需手写任何预处理代码。

常见问题

Q:预测结果为什么是LABEL_46这样的占位名?A:该检查点的标签表使用的是占位名称(LABEL_0 ~ LABEL_999)。如需显示真实类别名,把预测索引自行映射到 ImageNet-1k 类别名列表即可。

Q:必须用 GPU 吗?A:不用。b0 是小型模型,CPU 上推理速度也很快,代码中不加.to("cuda")即可。

Q:输入图片分辨率可以随便改吗?A:建议保持 224×224,这是模型训练所用的分辨率,换其他尺寸可能影响准确率。

恭喜!到这里你已经用 5 分钟完成了 pvt_v2_b0 图像分类模型的加载与推理。接下来可以尝试替换成自己的图片、批量处理整个文件夹,或用Trainer对它做微调。

【免费下载链接】pvt_v2_b0项目地址: https://ai.gitcode.com/hf_mirrors/OpenGVLab/pvt_v2_b0

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 19:40:10

女主播的“单身人设”到底值多少钱?——2500万打赏背后的法律红线

2500万元。这不是一桩商业并购案的金额,而是一名女主播凭借“单身未婚”人设从三名男粉丝手中获取的打赏总额。近日,95后抖音女主播魏莹被控诈骗一案再度引发舆论热议。这位福建连江籍、拥有近200万粉丝的女主播,2019年入局直播后长期隐瞒已婚…

作者头像 李华
网站建设 2026/8/26 19:28:24

基于springboot2+vue3的校园网上店铺系统

1. 代码获取 https://blog.xiaobias.com/article/10 2. 项目简介 本项目为“校园网上店铺”系统,是一个面向校园用户的电子商务平台。系统支持多角色(管理员、商铺、普通用户)登录与操作,提供商品浏览、购物车、订单管理、商品收…

作者头像 李华