license: apache-2.0
base_model: google/vit-base-patch16-224-in21k
tags:
- generated_from_trainer
metrics:
- accuracy
model-index:
- name: vit-finetuned-food101
results: []
datasets:
- ethz/food101
pipeline_tag: image-classification
模型卡:基于Food-101微调的ViT模型
模型概述
本模型是在Food-101数据集上对google/vit-base-patch16-224-in21k进行微调的版本。该视觉Transformer(ViT)架构专为图像分类任务设计,特别适用于食物识别与分类场景。
模型详情
性能表现
模型在评估集上取得以下结果:
使用场景与限制
适用场景
- 图像分类: 适用于将图像分类至101种食物类别,可应用于饮食追踪、餐厅菜单分析或食物相关搜索引擎等场景。
局限性
- 数据集偏差: 当处理与Food-101数据集差异较大的食物图像(如非西式菜肴或非标准拍摄条件下的图片)时,模型性能可能下降。
- 泛化能力: 虽然在Food-101数据集表现良好,但不能保证对其他食物相关任务或数据集的泛化能力。
- 输入尺寸: 模型要求输入图像尺寸为224x224像素,其他尺寸需相应调整。
训练与评估数据
模型基于Food-101数据集微调,该数据集包含101个食物类别的101,000张图像。每个类别含1,000张图像(750张训练集,250张测试集)。数据集涵盖多样化食物,但可能存在特定菜系或食物类型的偏向性。
训练流程
训练超参数
微调采用以下超参数:
- 学习率: 5e-05
- 训练批大小: 16
- 评估批大小: 16
- 随机种子: 42
- 梯度累积步数: 4
- 总训练批大小: 64
- 优化器: Adam(beta=(0.9, 0.999),epsilon=1e-08)
- 学习率调度器: 带0.1预热比例的线性调度
- 训练轮数: 3
训练结果
训练损失 |
轮次 |
步数 |
验证损失 |
准确率 |
2.7649 |
0.992 |
62 |
2.5733 |
0.831 |
1.888 |
2.0 |
125 |
1.7770 |
0.883 |
1.6461 |
2.976 |
186 |
1.6262 |
0.896 |
框架版本
- Transformers: 4.42.4
- PyTorch: 2.4.0+cu121
- Datasets: 2.21.0
- Tokenizers: 0.19.1
推理示例
可通过以下方式加载Food-101数据集图像进行分类推理:
from datasets import load_dataset
from transformers import pipeline
from PIL import Image
import requests
from io import BytesIO
image_url = "https://example.com/path-to-your-image.jpg"
response = requests.get(image_url)
image = Image.open(BytesIO(response.content))
classifier = pipeline(
"image-classification",
model="ashaduzzaman/vit-finetuned-food101"
)
result = classifier(image)
print(result)
伦理考量
- 偏差问题: Food-101数据集主要包含西式流行菜肴,可能导致模型对非西式食物的预测存在偏差。
- 隐私保护: 应用本模型时,应确保图像来源符合伦理规范并尊重隐私权。
引用规范
若在研究中使用本模型,请按以下格式引用:
@misc{vit_finetuned_food101,
author = {Ashaduzzaman},
title = {基于Food-101微调的ViT模型},
year = {2024},
url = {https://huggingface.co/ashaduzzaman/vit-finetuned-food101},
}