Views
No views yet
1model_name = "AppliedMLReedShreya/ViT_Attempt_1"
2config = AutoConfig.from_pretrained(model_name)
3config.num_labels = 2 # We need two outputs: latitude and longitude
4
5# Load the pre-trained ViT model
6vit_model = AutoModelForImageClassification.from_pretrained(model_name, config=config)
7
8device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
9print(f'Using device: {device}')
10vit_model = vit_model.to(device)
11
12# Initialize lists to store predictions and actual values
13all_preds = []
14all_actuals = []
15
16vit_model.eval()
17with torch.no_grad():
18 for images, gps_coords in val_dataloader:
19 images, gps_coords = images.to(device), gps_coords.to(device)
20
21 outputs = vit_model(images).logits
22
23 # Denormalize predictions and actual values
24 preds = outputs.cpu() * torch.tensor([lat_std, lon_std]) + torch.tensor([lat_mean, lon_mean])
25 actuals = gps_coords.cpu() * torch.tensor([lat_std, lon_std]) + torch.tensor([lat_mean, lon_mean])
26
27 all_preds.append(preds)
28 all_actuals.append(actuals)
29
30# Concatenate all batches
31all_preds = torch.cat(all_preds).numpy()
32all_actuals = torch.cat(all_actuals).numpy()