| #!/bin/bash |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| export PYTHONUNBUFFERED=1 |
| export HF_DATASETS_OFFLINE=1 |
| export TRANSFORMERS_OFFLINE=1 |
| export CUDA_LAUNCH_BLOCKING=1 |
|
|
| |
| set -e |
|
|
| |
| |
|
|
| |
| if [ ! -d "venv" ]; then |
| echo "Creating venv..." |
| python3 -m venv venv |
| source venv/bin/activate |
| pip install --upgrade pip |
| pip install -e . |
| else |
| source venv/bin/activate |
| fi |
|
|
| |
| MODEL_DIR="./output_chess_model" |
| mkdir -p logs |
|
|
| echo "============================================" |
| echo "Starting Chess Training Pipeline" |
| echo "Job ID: $SLURM_JOB_ID" |
| echo "Output Dir: $MODEL_DIR" |
| echo "============================================" |
|
|
| |
| echo "[1/2] Starting Training..." |
| python -m src.train \ |
| --output_dir $MODEL_DIR \ |
| --num_train_epochs 3 \ |
| --per_device_train_batch_size 64 \ |
| --save_steps 2000 |
|
|
| |
| echo "--------------------------------------------" |
| echo "[2/2] Starting Evaluation..." |
|
|
| |
| echo "Running legal move evaluation..." |
| python -m src.evaluate \ |
| --model_path "${MODEL_DIR}/final_model" \ |
| --mode legal \ |
| --n_positions 1000 |
|
|
| |
| echo "Running win rate check vs Stockfish..." |
| python -m src.evaluate \ |
| --model_path "${MODEL_DIR}/final_model" \ |
| --mode winrate \ |
| --n_games 50 \ |
| --stockfish_level 1 |
|
|
| echo "============================================" |
| echo "Pipeline Completed!" |
|
|