# MLflow Projects

← [Раздел](README.md) · [Главная](../README.md)

## Цель

Понять назначение, устройство и практику использования компонента **MLflow Projects** в MLflow.

## Предварительно

- [Artifacts](artifacts.md)

## Время

**2–3 ч**

---

## Назначение

**MLflow Projects** — формат **воспроизводимого** запуска: `MLproject` файл + entry points + conda/docker env.

## MLproject файл

```yaml
name: train-fraud-model
conda_env: conda.yaml
entry_points:
  main:
    parameters:
      learning_rate: {type: float, default: 0.01}
    command: "python train.py --lr {learning_rate}"
```

## Запуск

```bash
mlflow run . -P learning_rate=0.05
mlflow run https://github.com/example/ml-repo -P param=value
```

## Зачем нужен

- Коллега запускает **ту же команду** без чтения README
- CI вызывает `mlflow run` с фиксированными параметрами
- Связка с Git URL для воспроизводимости

## Docker entry

```yaml
entry_points:
  main:
    docker_env:
      image: registry.example.internal/ml-train:1.0
```

## Ограничения

Projects менее популярны, чем Tracking — многие команды используют **Makefile + CI** вместо MLproject. Но формат полезен для стандартизации.

## Связь с Runs

`mlflow run` автоматически создаёт run в указанном experiment.

---

## Самопроверка

1. Кратко опишите роль «MLflow Projects» в MLflow.
2. Назовите типичную ошибку при работе с этим компонентом.
3. Как этот компонент связан с соседними?

---

## Дальше

→ [MLflow Models](mlflow-models.md)
