File size: 3,637 Bytes
78738de
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
@echo off
REM ============================================================
REM  PoolCoach - Thi nghiem 20/07/2026 toi (double-click de chay)
REM
REM  Dataset 10k (seed 124) da sanity PASS: Q xb2 0.874 (~2k: 0.877),
REM  b2_lucky 44.6%%, ~87 combo/ban, 12/10000 ban 0-pot, co luu combos.
REM
REM  Phase 1: Relabel canonical + sweep pocket-margin {0.05,0.10,0.15}
REM           + ban --limit 2000 (tach hieu ung N vs label rule)
REM  Phase 2: BC train tren tung ban relabel
REM           -> nhin val MSE per-component co THOAT variance baseline khong
REM  Phase 3: Eval 1000 cu tung model
REM           -> GATE G1: Q|pot > 0.65  va  pot >= 10%%
REM  Phase 4: Eval 1000 cu 2 model BC v1 (bang FAIL chinh thuc cho luan van)
REM
REM  Uoc luong: relabel ~giay; moi BC train ~vai phut; moi eval 1000 ~2-4 phut.
REM ============================================================

if "%~1"=="_go" goto :inner
cmd /k "%~f0" _go
exit /b

:inner
set "VENV=D:\Khoa luan\poolcoach-env\Scripts\activate.bat"
set "REPO=D:\Khoa luan\poolcoach-rl"
set "DS=data\bc_dataset_10000_124.npz"

if not exist "%VENV%" (
    echo [loi] Khong tim thay venv: "%VENV%"
    goto :eof
)

call "%VENV%"
cd /d "%REPO%"

echo.
echo ===== Phase 1: Relabel (5 ban) =====
python scripts\relabel_bc_dataset.py %DS%
python scripts\relabel_bc_dataset.py %DS% --pocket-margin 0.05
python scripts\relabel_bc_dataset.py %DS% --pocket-margin 0.10
python scripts\relabel_bc_dataset.py %DS% --pocket-margin 0.15
python scripts\relabel_bc_dataset.py %DS% --limit 2000

echo.
echo ===== Phase 2: BC train (5 run) =====
python scripts\train_bc.py --dataset data\bc_dataset_10000_124_canon.npz       --run-name bc_canon_20260720
python scripts\train_bc.py --dataset data\bc_dataset_10000_124_canon_p0.05.npz --run-name bc_canon_p005_20260720
python scripts\train_bc.py --dataset data\bc_dataset_10000_124_canon_p0.1.npz  --run-name bc_canon_p010_20260720
python scripts\train_bc.py --dataset data\bc_dataset_10000_124_canon_p0.15.npz --run-name bc_canon_p015_20260720
python scripts\train_bc.py --dataset data\bc_dataset_10000_124_canon_n2000.npz --run-name bc_canon_n2000_20260720

echo.
echo ===== Phase 3: Eval 1000 cu (gate G1: Q^|pot ^> 0.65, pot ^>= 10%%) =====
python scripts\eval_position.py models\bc_canon_20260720\bc_model.zip       --episodes 1000 --aim-mode any
python scripts\eval_position.py models\bc_canon_p005_20260720\bc_model.zip  --episodes 1000 --aim-mode any
python scripts\eval_position.py models\bc_canon_p010_20260720\bc_model.zip  --episodes 1000 --aim-mode any
python scripts\eval_position.py models\bc_canon_p015_20260720\bc_model.zip  --episodes 1000 --aim-mode any
python scripts\eval_position.py models\bc_canon_n2000_20260720\bc_model.zip --episodes 1000 --aim-mode any

echo.
echo ===== Phase 4: Moc FAIL BC v1 cho bang luan van (eval 1000) =====
python scripts\eval_position.py models\bc_b2_20260720_023456\bc_model.zip  --episodes 1000 --aim-mode any
python scripts\eval_position.py models\bc_xb2_20260720_023456\bc_model.zip --episodes 1000 --aim-mode any

echo.
echo ============================================================
echo   XONG. Doc ket qua theo thu tu:
echo   1. Phase 1: %% ban giu lai theo pocket-margin (retention vs sach)
echo   2. Phase 2: val MSE per-component - THOAT variance baseline chua?
echo      (train_bc tu canh bao neu ^>=2 component van dinh baseline)
echo   3. Phase 3: GATE G1 = Q^|pot ^> 0.65 va pot ^>= 10%%
echo      - PASS -^> chot label rule, sang buoc fine-tune PPO --init-from
echo      - FAIL -^> v3: pocket-id conditioning / classification head
echo ============================================================