music3lab / scripts /run_latent_inversion.py
coolpoodle's picture
code and training scripts
90884df verified
Raw
History Blame Contribute Delete
2.38 kB
"""Run the preregistered P2-E1/P2-E2 one-second latent inversion."""
from __future__ import annotations
import argparse
import json
from pathlib import Path
from music3lab.inversion import run_inversion_session
def parser() -> argparse.ArgumentParser:
result = argparse.ArgumentParser(description=__doc__)
result.add_argument("--config", type=Path, required=True)
result.add_argument("--snapshot", type=Path, required=True)
result.add_argument("--base-manifest", type=Path, required=True)
result.add_argument("--diffusers-root", type=Path, required=True)
result.add_argument("--phase0-artifacts", type=Path, required=True)
result.add_argument("--output-root", type=Path, required=True)
return result
def main() -> int:
args = parser().parse_args()
verified = run_inversion_session(
config_path=args.config,
snapshot=args.snapshot,
base_manifest=args.base_manifest,
diffusers_root=args.diffusers_root,
phase0_artifacts=args.phase0_artifacts,
output_root=args.output_root,
)
print(json.dumps({
"status": (
"FEASIBILITY_PASS"
if verified.manifest.all_feasibility_pass
else "FAIL"
),
"high_fidelity_status": (
"HIGH_FIDELITY_PASS"
if verified.manifest.all_high_fidelity_pass
else "NOT_HIGH_FIDELITY"
),
"quality_claim": verified.manifest.quality_claim,
"session_semantic_digest": verified.manifest.semantic_digest,
"session_file_sha256": verified.manifest_file_sha256,
"output_root": str(args.output_root),
"experiments": [{
"experiment_id": item.manifest.experiment_id,
"status": item.manifest.status,
"high_fidelity_status": item.manifest.high_fidelity_status,
"quality_claim": item.manifest.quality_claim,
"manifest_semantic_digest": item.manifest.semantic_digest,
"manifest_file_sha256": item.manifest_file_sha256,
"selected_restart_seed": item.manifest.selected_restart_seed,
"metrics": item.metrics.model_dump(mode="json"),
"telemetry": item.manifest.telemetry.model_dump(mode="json"),
} for item in verified.experiments],
}, sort_keys=True))
return 0
if __name__ == "__main__":
raise SystemExit(main())