mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2026-04-23 00:17:25 +08:00
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
#!/bin/env python3
|
|
import json
|
|
import logging
|
|
import os
|
|
|
|
logger = logging.getLogger(__name__)
|
|
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
|
|
|
|
|
|
class BaselineManager:
|
|
def __init__(self, base_dir="/ModelData"):
|
|
self.base_dir = base_dir
|
|
|
|
def _get_path(self, name: str):
|
|
branch = os.getenv("TEST_BRANCH", "default")
|
|
if os.getenv("STATIC_C8") == "1":
|
|
c8_mode = "_static_c8"
|
|
elif os.getenv("DYNAMIC_C8") == "1":
|
|
c8_mode = "_dynamic_c8"
|
|
else:
|
|
c8_mode = ""
|
|
return f"{self.base_dir}/{name}_{branch}{c8_mode}.txt"
|
|
|
|
def load(self, name: str):
|
|
path = self._get_path(name)
|
|
logger.info(f"读取 baseline: {path}")
|
|
|
|
with open(path, "r", encoding="utf-8") as f:
|
|
content = f.read()
|
|
|
|
try:
|
|
return json.loads(content)
|
|
except Exception:
|
|
return content # 不是 JSON,就当字符串返回
|
|
|
|
def save(self, name: str, content):
|
|
path = self._get_path(name)
|
|
logger.info(f"写入 baseline: {path}")
|
|
|
|
if isinstance(content, (dict, list)):
|
|
content = json.dumps(content, ensure_ascii=False, indent=2)
|
|
|
|
with open(path, "w", encoding="utf-8") as f:
|
|
f.write(content)
|