in tensorflow_similarity/indexer.py [0:0]
def _init_structures(self) -> None:
"(re)initialize internal storage structure"
if self.search_type == 'nmslib':
self.search: Search = NMSLibSearch(distance=self.distance,
dims=self.embedding_size)
elif isinstance(self.search_type, Search):
self.search = self.search_type
else:
raise ValueError("You need to either supply a known search "
"framework name or a Search() object")
# mapper from id to record data
if self.kv_store_type == 'memory':
self.kv_store: Store = MemoryStore()
elif isinstance(self.kv_store_type, Store):
self.kv_store = self.kv_store_type
else:
raise ValueError("You need to either supply a know key value "
"store name or a Store() object")
# code used to evaluate indexer performance
if self.evaluator_type == 'memory':
self.evaluator: Evaluator = MemoryEvaluator()
elif isinstance(self.evaluator_type, Evaluator):
self.evaluator = self.evaluator_type
else:
raise ValueError("You need to either supply a know evaluator name "
"or an Evaluator() object")
# stats
self._stats: DefaultDict[str, int] = defaultdict(int)
self._lookup_timings_buffer: Deque = deque([], maxlen=self.stat_buffer_size) # noqa
# calibration data
self.is_calibrated = False
self.calibration_metric = F1Score()
self.cutpoints = {}
self.calibration_thresholds = {}