From d530c398930ce7b0c8b1817ff830d29d22ce2e10 Mon Sep 17 00:00:00 2001 From: tkgstrator Date: Mon, 13 Jul 2026 03:16:14 +0000 Subject: [PATCH] chore(train): scope wandb project by image size and package version wandb project name for BoardOCR was a fixed "mito-train-board-ocr", which collapsed runs from different image_size and package versions into a single board on wandb. Interpolate image_size and mito-train pyproject version so each combination gets its own project (e.g. mito-train-board-ocr-w224-v0.2.0). Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/backbones.md | 2 +- docs/ocr-scaling-outlook.md | 2 +- mito_train/training/train_board_ocr.py | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/docs/backbones.md b/docs/backbones.md index ecab32a..35494db 100644 --- a/docs/backbones.md +++ b/docs/backbones.md @@ -364,5 +364,5 @@ BoardOCR では未実装だが、モバイル配信で精度を詰めたい場 各 backbone の val cell_acc / sfen_full_acc / wall-clock は sweep 完了後に W&B で並び、ここに引用予定。 -- W&B project: `mito-train-board-ocr` +- W&B project: `mito-train-board-ocr-w{image_size}-v{package_version}` (例: `mito-train-board-ocr-w224-v0.2.0`) - run 名は各 backbone 名そのまま(例: `mobilenet_v3_small`, `convnext_tiny`) diff --git a/docs/ocr-scaling-outlook.md b/docs/ocr-scaling-outlook.md index a4fc19f..3eb6844 100644 --- a/docs/ocr-scaling-outlook.md +++ b/docs/ocr-scaling-outlook.md @@ -257,7 +257,7 @@ EPOCHS=50 IMAGE_SIZE=288 BACKBONES="mobilenet_v3_small convnext_atto convnext_ti RESUME_INCOMPLETE=1 EPOCHS=100 IMAGE_SIZE=288 ./scripts/train_backbones.sh ``` -W&B project: `mito-train-board-ocr`。今回の sweep run 一覧: +W&B project: `mito-train-board-ocr`(当時。以降は `mito-train-board-ocr-w{image_size}-v{package_version}` に分割)。今回の sweep run 一覧: | Backbone | Run ID | |---|---| diff --git a/mito_train/training/train_board_ocr.py b/mito_train/training/train_board_ocr.py index 6287f47..e2dc504 100644 --- a/mito_train/training/train_board_ocr.py +++ b/mito_train/training/train_board_ocr.py @@ -17,6 +17,7 @@ from __future__ import annotations import argparse +from importlib.metadata import version as _pkg_version from pathlib import Path import torch @@ -301,8 +302,9 @@ def log_main(msg: str) -> None: # Only rank 0 talks to W&B; other ranks keep wandb_run=None and log nothing. run_name = args.backbone + wandb_project = f"mito-train-board-ocr-w{args.image_size}-v{_pkg_version('mito-train')}" wandb_run = _init_wandb( - project="mito-train-board-ocr", + project=wandb_project, run_name=run_name, run_id=resumed_wandb_id, resume="allow" if resumed_wandb_id else None,