AnemiaLens / backend /scripts /train_ensemble.py
asnannp's picture
sync: sync backend code, models, schemas, and API routers to Hugging Face Space cleanly
f559cc0
Raw
History Blame Contribute Delete
1.25 kB
"""
Train all models in the AnemiaLens ensemble pipeline.
Currently delegates to train_archive_model. As the ensemble grows
(deep-stack, legacy CNN, etc.) this script will orchestrate each
training job in dependency order and produce a combined manifest.
Usage::
python scripts/train_ensemble.py [--dataset PATH] [--output-dir PATH] [--quiet]
"""
from __future__ import annotations
import sys
from pathlib import Path
# Ensure the scripts directory is on the path so we can import sibling scripts.
sys.path.insert(0, str(Path(__file__).resolve().parent))
from train_archive_model import main as train_archive
def main(argv: list[str] | None = None) -> int:
"""
Orchestrate all training jobs.
Returns the exit code of the last failing job, or 0 if all succeeded.
"""
exit_code = 0
print("=== Step 1/1: archive screening model ===")
rc = train_archive(argv)
if rc != 0:
print(f" FAILED (exit {rc})", file=sys.stderr)
exit_code = rc
else:
print(" Done.")
# Future steps (uncomment when models are ready):
# print("=== Step 2/N: deep-stack model ===")
# rc = train_deep_stack(argv)
# ...
return exit_code
if __name__ == "__main__":
sys.exit(main())