# Tracking Client SDK

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

## Цель

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

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

- [Model Serving](model-serving.md)

## Время

**2–3 ч**

---

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

**Tracking Client** — библиотека (Python, R, Java, REST) для записи runs и взаимодействия с Registry.

## Python setup

```python
import mlflow

mlflow.set_tracking_uri("http://mlflow.example.internal:5000")
mlflow.set_experiment("my-project")
```

Переменная окружения: `MLFLOW_TRACKING_URI`.

## MlflowClient (низкоуровневый)

```python
from mlflow import MlflowClient
client = MlflowClient()
exp = client.create_experiment("new")
client.set_experiment_tag(exp, "owner", "team-ml")
```

Используйте для automation и CI, не только в notebook.

## Active run

```python
if mlflow.active_run() is None:
    mlflow.start_run()
```

## Удалённое обучение

Воркеры на GPU-кластере пишут в **один** tracking server — видите прогресс в реальном времени.

## Offline mode

При недоступности сервера — локальные файлы, sync позже (ограниченная поддержка — проверяйте версию).

## Jupyter / notebooks

```python
mlflow.start_run(run_name="nb-cell-1")  # осторожно: много случайных runs
```

Лучше вынести обучение в `.py` скрипты.

## Интеграция с IDE

Плагины VS Code / Databricks для просмотра runs.

---

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

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

---

## Дальше

→ [Plugins и расширения](plugins.md)
