Spaces:
Sleeping
Sleeping
File size: 858 Bytes
944c93a 4388025 944c93a 4388025 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
from dataclasses import dataclass
from geoguessr_bot.guessr import AbstractGuessr
from geoguessr_bot.interfaces import Coordinate
from geoguessr_bot.retriever import AbstractImageEmbedder
from geoguessr_bot.retriever import Retriever
@dataclass
class GlobalEmbedderGuessr(AbstractGuessr):
"""Guesses a coordinate using an Embedder and a retriever
"""
embedder: AbstractImageEmbedder
retriever: Retriever
def guess(self, image: Image) -> Coordinate:
"""Guess a coordinate from an image
"""
# Embed image
image_embedding = self.embedder.embed(image)
# Retrieve nearest neighbors
nearest_neighbors = self.retriever.retrieve(image_embedding)
# Guess coordinate
guess_coordinate = self.retriever.image_to_coordinate[nearest_neighbors[0][0]]
return guess_coordinate
|