FaceID / src /tracking.py
Ypeng12's picture
Fix libgl1 package name for Debian Trixie/Bookworm in Dockerfile
69def8e
Raw
History Blame Contribute Delete
1.3 kB
import json
import os
import datetime
import subprocess
def get_git_hash() -> str:
try:
res = subprocess.check_output(['git', 'rev-parse', '--short', 'HEAD'], stderr=subprocess.DEVNULL)
return res.decode('utf-8').strip()
except Exception:
return "unknown"
class Tracker:
def __init__(self, log_file="outputs/runs.json"):
self.log_file = log_file
os.makedirs(os.path.dirname(self.log_file), exist_ok=True)
if not os.path.exists(self.log_file):
with open(self.log_file, 'w') as f:
json.dump([], f)
def log_run(self, run_id, config_name, data_version, is_sweep, threshold, metrics, note):
with open(self.log_file, 'r') as f:
runs = json.load(f)
run_data = {
"run_id": run_id,
"timestamp": datetime.datetime.now().isoformat(),
"commit": get_git_hash(),
"config": config_name,
"data_version": data_version,
"is_sweep": is_sweep,
"threshold": threshold,
"metrics": metrics,
"note": note
}
runs.append(run_data)
with open(self.log_file, 'w') as f:
json.dump(runs, f, indent=2)
return run_data