# MLflow Project — формат воспроизводимых экспериментов
# ========================================================
# Запуск:
#   mlflow run . -P n_estimators=100 -P max_depth=8
#   mlflow run . -P n_estimators=200 -P max_depth=12 --experiment-name digits_project
#
# MLflow автоматически:
#   1. Создаст изолированное окружение из conda.yaml (или requirements.txt)
#   2. Запустит entry point с указанными параметрами
#   3. Логирует всё в MLflow tracking

name: mlflow-practice

python_env: python_env.yaml

entry_points:
  main:
    parameters:
      n_estimators: {type: int, default: 100}
      max_depth: {type: int, default: 8}
    command: "python src/train_simple.py --n-estimators {n_estimators} --max-depth {max_depth}"

  gpu:
    parameters:
      epochs: {type: int, default: 10}
      batch_size: {type: int, default: 256}
      lr: {type: float, default: 0.001}
    command: "python src/train_gpu.py --epochs {epochs} --batch-size {batch_size} --lr {lr}"

  sweep:
    parameters:
      max_combos: {type: int, default: 20}
    command: "python src/hyperparam_sweep.py --max-combos {max_combos}"
