许可证: MIT
语言:
- 英文
评估指标:
- 准确率
基础模型:
- google/vit-base-patch16-224-in21k
任务标签: 图像分类
库名称: transformers
标签:
- 医疗
- 生物学
胸部X光图像分类器
本仓库包含一个基于Vision Transformer (ViT)架构的微调模型,用于对胸部X光片进行分类,该模型使用了CheXpert数据集进行训练。该模型在从胸部X光片中分类各种肺部疾病的任务上表现出色,能够以高准确率区分不同病症。
模型概述
该微调模型基于Vision Transformer (ViT)架构,该架构通过利用注意力机制进行高效特征提取,擅长处理基于图像的任务。模型在CheXpert数据集上进行了训练,该数据集包含标记的胸部X光片,用于检测肺炎、心脏肥大等疾病。
性能表现
- 最终验证准确率: 98.46%
- 最终训练损失: 0.1069
- 最终验证损失: 0.0980
模型在训练过程中实现了显著的准确率提升,展示了其对未见过的胸部X光片良好的泛化能力。
数据集
用于微调模型的数据集是CheXpert数据集,包含来自不同患者的多标签标注胸部X光片。数据包括每位患者的正面和侧面胸部视图,并标注了各种肺部疾病的标签。
有关数据集的更多详情,请访问CheXpert官方网站。
训练细节
模型微调采用了以下设置:
- 优化器: AdamW
- 学习率: 3e-5
- 批次大小: 32
- 训练轮次: 10
- 损失函数: 带Logits的二元交叉熵
- 精度: 混合精度(通过
torch.amp
实现)
使用方法
推理
要使用微调模型进行推理,只需从Hugging Face的模型中心加载模型并输入胸部X光图像:
from PIL import Image
import torch
from transformers import AutoImageProcessor, AutoModelForImageClassification
processor = AutoImageProcessor.from_pretrained("codewithdark/vit-chest-xray")
model = AutoModelForImageClassification.from_pretrained("codewithdark/vit-chest-xray")
label_columns = ['心脏肥大', '肺水肿', '肺实变', '肺炎', '未见异常']
image_path = "/content/images.jpeg"
image = Image.open(image_path)
if image.mode != 'RGB':
image = image.convert('RGB')
print("图像已转换为RGB模式。")
inputs = processor(images=image, return_tensors="pt")
with torch.no_grad():
outputs = model(**inputs)
logits = outputs.logits
predicted_class_idx = torch.argmax(logits, dim=-1).item()
predicted_class_label = label_columns[predicted_class_idx]
print(f"预测类别索引: {predicted_class_idx}")
print(f"预测类别标签: {predicted_class_label}")
'''
输出:
预测类别索引: 4
预测类别标签: 未见异常
'''
微调
要在自己的数据集上微调模型,你可以按照本仓库的说明调整代码以适应你的数据集和训练配置。
贡献
我们欢迎贡献!如果你有建议、改进或错误修复,请随时fork仓库并提交拉取请求。
许可证
本模型基于MIT许可证提供。详见LICENSE。
致谢
祝编码愉快!🚀