# Image to GPS Model: DINO-ResNet Fusion ## Training Data Statistics The following mean and standard deviation values were used to normalize the GPS coordinates: - **Latitude Mean**: {39.95156391970743} - **Latitude Std**: {0.0007633062105681285} - **Longitude Mean**: {-75.19148737056214} - **Longitude Std**: {0.0007871346840888362} ## How to use the model Please include the definition of the model first before loading the checkpoint: ```python # Import all the dependencies import torch import torch.nn as nn import torchvision.models as models import torchvision.transforms as transforms from torch.utils.data import DataLoader, Dataset from transformers import AutoImageProcessor, AutoModelForImageClassification, AutoModel from huggingface_hub import PyTorchModelHubMixin from PIL import Image import os import numpy as np class EfficientNetGPSModel(nn.Module): def __init__(self, eff_name="efficientnet_b0", num_outputs=2): super(EfficientNetGPSModel, self).__init__() # Load the EfficientNet backbone self.efficientnet = getattr(models, eff_name)(pretrained=True) # Replace the classifier head while keeping the overall structure simple in_features = self.efficientnet.classifier[1].in_features self.efficientnet.classifier = nn.Sequential( nn.Linear(in_features, num_outputs) # Directly map to GPS coordinates ) def forward(self, x): return self.efficientnet(x) def save_model(self, save_path): self.save_pretrained(save_path) def push_model(self, repo_name): self.push_to_hub(repo_name) ``` Then you can download the model from HF by running, and this will also load the checkpoint automatically: ```python model = EfficientNetGPSModel.from_pretrained("cis519/efficient-net-gps") ```