Custom Python integration
Any Python script can become a HyperOptimizer workload if it accepts --hpo-* arguments, runs one trial, and prints metrics.
Minimal Python shape
import argparse
import json
def parse_args():
parser = argparse.ArgumentParser()
parser.add_argument("--hpo-learning-rate", type=float, required=True)
parser.add_argument("--hpo-batch-size", type=int, required=True)
return parser.parse_args()
def main():
args = parse_args()
result = train_model(
learning_rate=args.hpo_learning_rate,
batch_size=args.hpo_batch_size,
)
print(f"hpo.metrics.loss={json.dumps(result.loss)}")
print(f"hpo.metrics.accuracy={json.dumps(result.accuracy)}")
if __name__ == "__main__":
main()
Package it
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "train.py"]