资讯动态

用 transformers 把照片库自动分类打标:3 行 pipeline 代码与踩坑笔记

发布时间:2026/8/28 14:51:57 来源:尧图企业网站定制
用 transformers 把照片库自动分类打标3 行 pipeline 代码与踩坑笔记【免费下载链接】transformers Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers几万张照片躺在硬盘里却从来没人给它们贴过标签——想找上周在厨房拍的那张披萨只能靠肉眼翻相册。Hugging Face 的 transformers 库内置了一个叫image-classification的 pipeline本质是一台看图说话的分类器把图片路径喂给它几行 Python 代码就能吐回一组带置信度分数的标签批量给整个照片文件夹自动建档。本文带你跑通第一张图、处理整个文件夹、挑对模型最后用自带的微调脚本教会它认识你自己的标签。1 个不用训练的分类器pipeline 到底是什么Transformers 把预处理 → 模型推理 → 后处理这三件事打包成了一个标准流水线取名为 pipeline。你不需要关心图片怎么缩放到 224×224、模型权重从哪里加载、分数怎么归一化只要传入一张图拿回的是一份标签和分数的清单。对只想用起来的读者它是目前门槛最低的入口不写一行模型代码就能得到可检索的结构化标签。3 行代码给一张照片打上标签下面这段代码加载一个现成的 ImageNet 分类模型并对项目测试素材里的一颗红苹果拍照打分from transformers import pipeline classifier pipeline(image-classification, modelgoogle/vit-base-patch16-224) result classifier(tests/fixtures/tests_samples/COCO/apple.jpg, top_k5) print(result)跑出来的结果形如[{score: 0.63, label: Gala apple}, {score: 0.11, label: fuji apple}, ...]。苹果被认成 Gala apple符合预期。注意一个边界ViT、BEiT 这类现成模型都是在 ImageNet 的 1000 个固定类别上训出来的所以它只会说这 1000 种行话。你无法指望它喊出我家的猫这种自定义名称——想要自己的标签得看第 5 节的微调。批量处理整个照片文件夹怎么落地pipeline 实例是可以复用的创建一次之后反复调用即可不必每处理一张图就重新加载模型。对每张图的输出是一个列表写进 JSON 或 CSV照片库就有了可检索的结构化档案。仓库里那张 COCO 厨房测试图就是个好例子两位厨师和一张披萨。丢给分类器通常会得到 oven、pizza、cake、cup 之类的标签——这些词正是你以后做照片检索时最好用的索引字段。⚠️ 小提示模型其实给全部 1000 个类别都打了分平时用top_k5就够了展示或入库时建议top_k1再配一个分数门槛低于门槛的标签直接丢弃避免把不确定的猜测也写进档案。怎么挑模型先看你的标签范围三种典型需求对应三个选择。只是想先跑个 demo直接用google/vit-base-patch16-224或microsoft/beit-base-patch16-224二者都是 ImageNet 预训练权重装完即可用小批量在 CPU 上也能转。准备在自己数据上微调时以 ViT 或 BEiT 的 base 规格做起点最稳。第三种情况容易踩坑当你的目标类别彼此重叠比如同时想区分苹果和橙子在创建 pipeline 时显式传入function_to_applysoftmax让输出分数经过 softmax 归一化横向比较才公平默认行为是单标签走 sigmoid、多标签走 softmax不指定就会按模型结构自动猜。想教它认识我家的猫用自带脚本微调仓库里有一份开箱即用的训练脚本examples/pytorch/image-classification/run_image_classification.py。思路是把照片按类别放进子文件夹再让脚本从预训练权重出发继续训练训练参数在 examples/pytorch/image-classification/README.md 里都有说明。比如建两个目录cats/和remote/把照片分别拷进去用--model_name_or_path google/vit-base-patch16-224加若干轮训练得到一个只认这两个新类别的模型。训练完成后把 pipeline 里的模型名换成新路径同一套代码就能输出你自定义的标签了。现在就可以跑按第 2 节把 3 行代码跑通再挑一个自己的文件夹套进第 3 节的循环——一个能自动打标签的照片库雏形就有了。跑不通的时候先检查两件事pip show transformers是否装好了、模型权重是否因网络原因没下载完。【免费下载链接】transformers Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.项目地址: https://gitcode.com/GitHub_Trending/tra/transformers创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价