Views
No views yet
| Model File | Excluded Class | CIFAR-10 Accuracy (Retain classes only) |
|---|---|---|
vit_base_16_cifar10_original.pth | None (Original) | 98.36% |
vit_base_16_cifar10_forget0.pth | Airplane | 97.99% |
vit_base_16_cifar10_forget1.pth | Automobile | 98.12% |
vit_base_16_cifar10_forget2.pth | Bird | 98.16% |
vit_base_16_cifar10_forget3.pth | Cat | 98.59% |
vit_base_16_cifar10_forget4.pth | Deer | 97.92% |
vit_base_16_cifar10_forget5.pth | Dog | 98.40% |
vit_base_16_cifar10_forget6.pth | Frog | 97.94% |
vit_base_16_cifar10_forget7.pth | Horse | 97.92% |
vit_base_16_cifar10_forget8.pth | Ship | 98.02% |
vit_base_16_cifar10_forget9.pth | Truck | 97.17% |
(0.485, 0.456, 0.406) and std (0.229, 0.224, 0.225)1import torch.nn as nn
2from torchvision.models import ViT_B_16_Weights, vit_b_16
3
4def vit_base_16(num_classes, **kwargs):
5
6 weights = ViT_B_16_Weights.IMAGENET1K_SWAG_LINEAR_V1
7 model = vit_b_16(weights=weights)
8 in_features = model.heads.head.in_features
9 model.heads.head = nn.Linear(in_features, num_classes)
10 return model
11
12
13def load_model(model_path: str, num_classes: int = 10, device: str = 'cpu'):
14 model = get_vit_base16(num_classes=num_classes, pretrained=False)
15 state = torch.load(model_path, map_location=device)
16 model.load_state_dict(state)
17 model.to(device).eval()
18 return model
19
20# Example usage:
21model = load_model("vit_base_16_cifar10_original.pth", num_classes=10, device='cuda')
22# For excluded-class variant (e.g., exclude Airplane):
23model_f0 = load_model("vit_base_16_cifar10_forget0.pth", num_classes=10, device='cuda')