UniBioTransfer / Mediapipe_Result_Cache.py
scy639's picture
Upload folder using huggingface_hub
2b534de verified
from confs import *
import json,random,os
import numpy as np
class Mediapipe_Result_Cache:
"""
Convention: when a cache entry exists, it must not be None.
In other words, None results should not be cached; get/set guard against historical None values.
"""
# DIR = Path('/inspurfs/group/mayuexin/suncy/mediapipe_result/A')
DIR = Path('data/mediapipe_result')
def __init__(self):
pass
def get_path(self, img_path):
img_path = Path(img_path)
str_img_folder = str(img_path.parent)
assert '|' not in str_img_folder
str_img_folder = str_img_folder.replace('/', '|')
lmk_folder = self.DIR / str_img_folder
lmk_folder.mkdir(parents=1, exist_ok=True)
ret= lmk_folder / (img_path.name+'.npy')
return ret
def get(self, img_path):
path = self.get_path(img_path)
# print(f"[get] {path=}")
if path.exists():
ret = np.load(path)
assert ret is not None
return ret
def set(self, img_path, lmks):
assert lmks is not None
path = self.get_path(img_path)
np.save(path, lmks)
# print(f"{path=}")