@@ -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
111135total_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 " ==========================================="
150198fi
0 commit comments