🚀 SegFormer(b1 大小)仅预训练编码器
SegFormer 是一个用于语义分割的模型,该编码器在 ImageNet-1k 上进行了预训练。它由 Xie 等人在论文 SegFormer: Simple and Efficient Design for Semantic Segmentation with Transformers 中提出,并首次在 此仓库 中发布。
⚠️ 重要提示
发布 SegFormer 的团队并未为此模型编写模型卡片,此模型卡片由 Hugging Face 团队编写。
🚀 快速开始
SegFormer 由一个分层 Transformer 编码器和一个轻量级全 MLP 解码头组成,在 ADE20K 和 Cityscapes 等语义分割基准测试中取得了出色的效果。分层 Transformer 首先在 ImageNet-1k 上进行预训练,然后添加解码头,并在下游数据集上进行整体微调。
本仓库仅包含预训练的分层 Transformer,因此可用于微调目的。
✨ 主要特性
- 采用分层 Transformer 编码器和轻量级全 MLP 解码头,在语义分割任务中表现出色。
- 分层 Transformer 先在 ImageNet-1k 上预训练,再进行下游任务微调。
📦 安装指南
文档未提及安装步骤,故跳过此章节。
💻 使用示例
基础用法
以下是如何使用此模型将 COCO 2017 数据集中的图像分类为 1000 个 ImageNet 类别之一的示例:
from transformers import SegformerFeatureExtractor, SegformerForImageClassification
from PIL import Image
import requests
url = "http://images.cocodataset.org/val2017/000000039769.jpg"
image = Image.open(requests.get(url, stream=True).raw)
feature_extractor = SegformerFeatureExtractor.from_pretrained("nvidia/mit-b1")
model = SegformerForImageClassification.from_pretrained("nvidia/mit-b1")
inputs = feature_extractor(images=image, return_tensors="pt")
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = logits.argmax(-1).item()
print("Predicted class:", model.config.id2label[predicted_class_idx])
更多代码示例请参考 文档。
📚 详细文档
预期用途和限制
你可以使用此模型进行语义分割的微调。请查看 模型中心 以查找针对你感兴趣的任务进行微调的版本。
📄 许可证
此模型的许可证可在 此处 找到。
🔧 技术细节
BibTeX 引用和引用信息
@article{DBLP:journals/corr/abs-2105-15203,
author = {Enze Xie and
Wenhai Wang and
Zhiding Yu and
Anima Anandkumar and
Jose M. Alvarez and
Ping Luo},
title = {SegFormer: Simple and Efficient Design for Semantic Segmentation with
Transformers},
journal = {CoRR},
volume = {abs/2105.15203},
year = {2021},
url = {https://arxiv.org/abs/2105.15203},
eprinttype = {arXiv},
eprint = {2105.15203},
timestamp = {Wed, 02 Jun 2021 11:46:42 +0200},
biburl = {https://dblp.org/rec/journals/corr/abs-2105-15203.bib},
bibsource = {dblp computer science bibliography, https://dblp.org}
}
📋 信息表格
属性 |
详情 |
模型类型 |
用于语义分割的分层 Transformer 编码器 |
训练数据 |
ImageNet-1k |