Skip to content

Commit 1fcafc8

Browse files
committed
feat: train incrementally after the first round
1 parent b060464 commit 1fcafc8

2 files changed

Lines changed: 77 additions & 0 deletions

File tree

scripts/train_all_models.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,23 @@ train_model() {
6262
echo ""
6363
}
6464

65+
train_model_incremental() {
66+
local model=$1
67+
local architecture=$2
68+
69+
echo "=========================================="
70+
echo "Incremental training: $model"
71+
echo "Architecture: $architecture"
72+
echo "=========================================="
73+
74+
srun $SRUN_OPTS $PYTHON_CMD $model train \
75+
--architecture $architecture \
76+
--incremental
77+
78+
echo "Completed (incremental): $model with $architecture"
79+
echo ""
80+
}
81+
6582
# Main training loop
6683
echo "Starting training of all GROBID models..."
6784
echo "Total models: ${#MODELS[@]}"
@@ -78,3 +95,15 @@ done
7895
echo "=========================================="
7996
echo "All training runs completed!"
8097
echo "=========================================="
98+
echo ""
99+
echo "Starting incremental training phase..."
100+
101+
for model in "${MODELS[@]}"; do
102+
for arch in "${ARCHITECTURES[@]}"; do
103+
train_model_incremental "$model" "$arch"
104+
done
105+
done
106+
107+
echo "==========================================="
108+
echo "All incremental training runs completed!"
109+
echo "==========================================="

scripts/train_distributed_all_models.sh

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,30 @@ submit_job() {
107107
fi
108108
}
109109

110+
submit_job_incremental() {
111+
local model=$1
112+
local architecture=$2
113+
local experiment_id=$3
114+
115+
local job_name="train_inc_${model}_${architecture}"
116+
local log_file="${LOG_DIR}/${job_name}_%j.log"
117+
118+
echo ">>> Submitting incremental experiment $experiment_id: $job_name"
119+
120+
job_id=$(sbatch $SBATCH_OPTS \
121+
--job-name="$job_name" \
122+
--output="$log_file" \
123+
--error="$log_file" \
124+
--wrap="$PYTHON_CMD $model train --architecture $architecture --incremental" 2>&1 | grep -oP '\d+')
125+
126+
if [[ -n "$job_id" ]]; then
127+
JOB_IDS+=("$job_id")
128+
echo " Submitted incremental job ID: $job_id"
129+
else
130+
echo " Warning: Failed to submit incremental job for $job_name"
131+
fi
132+
}
133+
110134
# Calculate total number of experiments
111135
total_experiments=$((${#MODELS[@]} * ${#ARCHITECTURES[@]}))
112136

@@ -147,4 +171,28 @@ if [[ "${WAIT_FOR_COMPLETION:-false}" == "true" ]]; then
147171
done
148172
done
149173
echo "All jobs completed!"
174+
175+
echo ""
176+
echo "==========================================="
177+
echo "Starting incremental training phase"
178+
echo "==========================================="
179+
echo ""
180+
181+
experiment_count=0
182+
183+
for model in "${MODELS[@]}"; do
184+
for arch in "${ARCHITECTURES[@]}"; do
185+
experiment_count=$((experiment_count + 1))
186+
wait_for_capacity
187+
submit_job_incremental "$model" "$arch" "$experiment_count"
188+
done
189+
done
190+
191+
echo ""
192+
echo "==========================================="
193+
echo "All $total_experiments incremental experiments submitted!"
194+
echo "Job IDs: ${JOB_IDS[*]}"
195+
echo "Monitor with: squeue -u \$USER"
196+
echo "Logs in: $LOG_DIR"
197+
echo "==========================================="
150198
fi

0 commit comments

Comments
 (0)