use iterator as a default value in lambda

Этот коммит содержится в:
Inga Ulusoy 2023-04-27 13:25:24 +02:00
родитель ea297ea23d
Коммит 0df2322774

Просмотреть файл

@ -17,7 +17,6 @@ from lavis.processors import load_processor
class MultimodalSearch(AnalysisMethod):
def __init__(self, subdict: dict) -> None:
super().__init__(subdict)
# self.subdict.update(self.set_keys())
multimodal_device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
@ -319,9 +318,12 @@ class MultimodalSearch(AnalysisMethod):
)
similarity = features_image_stacked @ multi_features_stacked.t()
# similarity_soft_max = torch.nn.Softmax(dim=0)(similarity / 0.01)
sorted_lists = [
sorted(range(len(similarity)), key=lambda k: similarity[k, i], reverse=True)
sorted(
range(len(similarity)),
key=lambda k, value=i: similarity[k, value],
reverse=True,
)
for i in range(len(similarity[0]))
]
places = [[item.index(i) for i in range(len(item))] for item in sorted_lists]