mlflow-loglisted
Install: claude install-skill takayoshitoyoda05/claude-ml-template
# MLflow 実験管理
docs/EXPERIMENT_LOG.md(人間が読む要約)と MLflow(機械が比較する詳細データ)を
併用する。MLflow は既定ではローカルの mlruns/ に保存される。ただし
MLFLOW_TRACKING_URI が設定された環境では外部サーバーに送信されるため、
ローカル保存を保証したい場合は記録コードの先頭で明示的に固定する。
## 前提条件
- mlflow がインストールされていること。無ければ「`uv add --dev mlflow` で
追加してよいか」をユーザーに確認してから導入する(依存とロックファイルが
変わるため、無断で追加しない)
- 記録データは作業スコープ直下の mlruns/ に保存される(デフォルト)
## 用途1: 実験の記録
実験実行後、以下の項目を記録する。
```python
import mlflow
mlflow.set_tracking_uri("file:./mlruns") # ローカル保存を明示(環境変数による外部送信を防ぐ)
mlflow.set_experiment("<実験グループ名>") # 例: "attention-comparison"
with mlflow.start_run(run_name="<この実行の名前>"):
# ハイパーパラメータ
mlflow.log_param("seed", 42)
mlflow.log_param("batch_size", 8)
mlflow.log_param("model_version", "v3")
# 結果指標
mlflow.log_metric("mae", 0.123)
mlflow.log_metric("rmse", 0.456)
# 成果物(図など)
mlflow.log_artifact("outputs/attention_map.png")
```
既存の実験スクリプトに記録コードを追加する場合は、最小diff規律に従い
記録に必要な行だけを追加する。
## 用途2: 実験の比較・検索
「実験AとBを比較して」と言われたら、MlflowClient で過去の run を取得して
表形式で比較する。
```python
import mlflow
mlflow.set_tracking_uri("file:./mlruns") # ローカル保存を明示(環境変数による外部送信を防ぐ)
runs = mlflow.search_runs(experiment_names=["<実験グループ名>"])
# runs は DataFrame。params.*, metrics.* 列で比較できる
```
比較結果は表(run名 / 主要パラメータ / 主要指標)で提示する。
## 用途3: ブラウザUIの案内
ユーザーが視覚的に確認したい場合は、以下を案内する。
```
MLFLOW_TRACKING_URI=file:./mlruns uv run mlflow ui
```
ローカルの mlruns/ を���実に参照するため、環境変数で明示する。
http://localhost:5000 でダッシュボードが開く。
## EXPERIMENT_LOG.md との住み分け
| | EXPERIMENT_LOG.md | MLflow |
|---|---|-