Add Step1 training runner and lower default epochs to 50

- run_step1.sh: symlinks /workspace/train_data into PaddleOCR, runs
  tools/train.py with the step1 pretrain checkpoint, supports DRY_RUN=1
  for quick smoke test and EPOCHS=N override
- epoch_num: 200 -> 50 (matches the 50k synthetic budget)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
main
songhyeonsu 1 month ago
parent 640a5bcb83
commit 82c046522e

@ -1,6 +1,6 @@
Global:
use_gpu: True
epoch_num: 200
epoch_num: 50
log_smooth_window: 20
print_batch_step: 10
save_model_dir: ./output/kr_lp_pgnet/

@ -0,0 +1,49 @@
#!/usr/bin/env bash
# Step1 pretrain — 합성 데이터로 PGNet 학습
#
# 컨테이너 안 실행:
# docker exec kr_lp_pgnet bash /workspace/kr_lp_pgnet/scripts/run_step1.sh
#
# 환경 변수:
# DRY_RUN=1 2 epoch만 돌려 동작 검증
# EPOCHS=N epoch 수 override (기본 config의 epoch_num)
# LOG=path 로그 파일 (기본: /workspace/PaddleOCR/output/kr_lp_pgnet/train.log)
set -euo pipefail
PADDLEOCR_DIR=/workspace/PaddleOCR
KR_LP_DIR=/workspace/kr_lp_pgnet
TRAIN_DATA=/workspace/train_data
LOG="${LOG:-$PADDLEOCR_DIR/output/kr_lp_pgnet/train.log}"
cd "$PADDLEOCR_DIR"
# train_data symlink (config는 ./train_data/kr_lp_synth 사용)
if [ ! -e ./train_data ]; then
ln -sf "$TRAIN_DATA" ./train_data
fi
mkdir -p "$(dirname "$LOG")"
OVERRIDE=(
-o Global.pretrained_model=./pretrain_models/train_step1/best_accuracy
Global.load_static_weights=False
)
if [ -n "${EPOCHS:-}" ]; then
OVERRIDE+=(Global.epoch_num="$EPOCHS")
fi
if [ "${DRY_RUN:-0}" = "1" ]; then
OVERRIDE+=(Global.epoch_num=2 Global.eval_batch_step="[0,200]")
echo "DRY_RUN=1 → 2 epoch만 실행"
fi
echo "==========================="
echo "Step1 학습 시작"
echo " config: configs/e2e/kr_lp_pgnet.yml"
echo " data: $TRAIN_DATA/kr_lp_synth/"
echo " pretrain: pretrain_models/train_step1/best_accuracy"
echo " log: $LOG"
echo " override: ${OVERRIDE[@]}"
echo "==========================="
python3.10 tools/train.py -c configs/e2e/kr_lp_pgnet.yml "${OVERRIDE[@]}" 2>&1 | tee "$LOG"
Loading…
Cancel
Save