File size: 977 Bytes
795f737 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | """Register measured local candidates; insufficient evidence keeps champion empty."""
import json
from pathlib import Path
from .registry import Registry,acceptance
def main():
registry = Registry('models/registry')
try:
for version,name in [('v000','v000-mean'),('v001','v001-no-lexical'),('v002','v002-gru'),('v003','v003-transformer')]:
if (Path('models/registry')/version).exists():
manifest = registry.manifest(version)
else:
metrics = json.loads(Path(f'reports/bench-{name}-fp32.json').read_text())
registry.register(version,f'models/{name}',metrics,None if version=='v000' else 'v000')
manifest = registry.manifest(version)
print(json.dumps(dict(version=version,promotion_blockers=acceptance(manifest['metrics']))))
print(json.dumps(dict(champion=registry.champion)))
finally:
registry.close()
if __name__=='__main__':
main()
|