Files
sora_python/app/service/outfit_matcher/service.py
2024-03-28 10:30:18 +08:00

38 lines
1.6 KiB
Python

import json
import os
from pprint import pprint
from app.service.outfit_matcher.dataset import FashionDataset
from app.service.outfit_matcher.outfit_evaluator import OutfitMaterTypeAware
if __name__ == '__main__':
with open("./test_param/recommendation_test.json", "r") as f:
param = json.load(f)
fashion_dataset = FashionDataset(param["database"])
service = OutfitMaterTypeAware()
best_list = []
bad_list = []
for item in param["query"]:
outfits = fashion_dataset.generate_outfit(item, param["topk"], param["max_outfits"])
scores, features = service.get_result(outfits)
# save features
# 链接milvus
# 存入数据库
# 关闭链接
# print(scores)
# print(len(scores))
best_outfits, best_scores = service.visualize(outfits, scores, param["topk"], best=True,
# output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_best_{param['topk']}.png")
)
bad_outfits, bad_scores = service.visualize(outfits, scores, param["topk"], best=False,
# output_path=os.path.join(r"E:\workspace\outfit_matcher\2024 SS Outfit", f"{item['item_name']}_worst_{param['topk']}.png")
)
best_list.append({"best_outfits": best_outfits, "best_scores": best_scores})
bad_list.append({"bad_outfits": bad_outfits, "bad_scores": bad_scores})
pprint(best_list)
pprint(bad_list)