Views
No views yet
1from transformers import ViTImageProcessor, ViTForImageClassification
2from torchvision import datasets
3
4# # 初始化模型和特征提取器
5image_processor = ViTImageProcessor.from_pretrained('verypro/vit-base-patch16-224-cifar10')
6model = ViTForImageClassification.from_pretrained('verypro/vit-base-patch16-224-cifar10')
7
8
9# 加载 CIFAR10 数据集
10test_dataset = datasets.CIFAR10(root='./data', train=False, download=True)
11
12sample = test_dataset[0]
13image = sample[0]
14gt_label = sample[1]
15
16# 保存原始图像,并打印其标签
17image.save("original.png")
18print(f"Ground truth class: '{test_dataset.classes[gt_label]}'")
19
20inputs = image_processor(image, return_tensors="pt")
21outputs = model(**inputs)
22
23logits = outputs.logits
24print(logits)
25
26predicted_class_idx = logits.argmax(-1).item()
27predicted_class_label = test_dataset.classes[predicted_class_idx]
28print(f"Predicted class: '{predicted_class_label}', confidence: {logits[0, predicted_class_idx]:.2f}")1Ground truth class: 'cat'
2tensor([[-1.1497, -0.1080, -0.7349, 9.2517, -1.3094, 0.5403, -0.9521, -1.0223,
3 -1.4102, -1.5389]], grad_fn=<AddmmBackward0>)
4Predicted class: 'cat', confidence: 9.25