#!/bin/bash PYTHON_SCRIPT="training.main" PARAMETER_SETS=( # "1 1 0 0 1 64 hardmining 1 0.000005 0.2" # "1 1 0 0 1 64 hardmining 2 0.00001 0.2" # "1 1 1 1 1 64 hardmining 1 0.0001 0.2" # # "1 1 0 0 1 64 hardmining 0 0.00001 0.2" # "1 1 0 0 1 64 hardmining 0 0.000005 0.2" # "1 1 0 0 1 64 hardmining 1 0.00001 0.2" # "1 1 0 0 1 64 hardmining 1 0.000005 0.2" # "1 1 0 0 1 64 hardmining 0 0.00001 0.5" # "1 1 0 0 1 64 hardmining 0 0.00001 0.1" # "1 1 1 1 1 64 hardmining 0 0.00001" # "1 1 0 0 1 64 standard 0 0.00001" # "1 1 0 0 1 64 curriculum 0 0.00001" # Be # "1 1 1 1 0 64 hardmining 1 0.000005 0.2" # "1 1 1 0 0 64 hardmining 1 0.000005 0.2" # "1 1 0 0 0 64 hardmining 1 0.000005 0.2" # "1 1 1 1 0 64 hardmining 1 0.000005 0.2" # "1 0 0 0 0 64 hardmining 1 0.000005 0.2" # "0 1 0 0 0 64 hardmining 1 0.000005 0.2" # "0 0 1 0 0 64 hardmining 1 0.000005 0.2" # "0 1 1 0 1 64 hardmining 1 0.000005 0.2" # "1 0 0 0 0 32 hardmining 2 0.000001 0.2" # "1 1 1 1 1 32 hardmining 2 0.00001 0.2" # "1 0 1 0 1 64 hardmining 2 0.000005 0.5" # "1 0 0 0 0 64 hardmining 1 0.000005 0.2 0" # "1 0 0 0 1 64 hardmining 1 0.000005 0.2 0" # "1 0 0 0 1 64 hardmining 2 0.000005 0.2 0" # "1 0 0 0 0 64 hardmining 2 0.000001 0.2 0" # "1 0 0 0 1 64 hardmining 2 0.000001 0.2 0" # "1 1 0 0 1 64 hardmining 2 0.000005 0.2 0" # "1 0 0 0 0 64 hardmining 2 0.000001 0.2 0" # "1 0 0 0 0 64 hardmining 2 0.000001 0.2 0 32.0" # "1 1 1 1 1 64 hardmining 2 0.000001 0.2 0 32.0" # "1 1 1 1 1 64 hardmining 2 0.000005 0.2 0 32.0" # "1 0 0 0 0 64 hardmining 2 0.000001 0.2 0 64.0" # "1 0 0 0 0 64 hardmining 2 0.000005 0.2 0 64.0" # NAJLEPSZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY # "1 0 0 0 0 64 hardmining 2 0.000005 0.4 0 64.0" BEST 2 # "1 0 0 0 0 64 hardmining 2 0.000001 0.2 0 48.0" # "1 0 0 0 0 64 hardmining 2 0.000005 0.2 0 32.0" # BEST 3 # "1 0 0 0 0 64 hardmining 2 0.000005 0.4 0 32.0" # BEST 4 # "1 0 0 0 0 64 hardmining 3 0.000005 0.2 0 32.0" # "1 0 0 0 0 64 hardmining 3 0.000005 0.4 0 32.0" # "1 0 0 0 1 64 hardmining 2 0.000005 0.2 0 32.0" # "1 0 0 0 1 64 hardmining 2 0.000005 0.4 0 32.0" # "1 0 0 0 1 64 hardmining 3 0.000005 0.2 0 32.0" # "1 0 0 0 1 64 hardmining 3 0.000005 0.4 0 32.0" # Duzy head z duzym marginesem radzi sobie dobrze # "1 0 0 0 0 64 hardmining 3 0.000001 0.8 0 64.0" # BEST 5 # "1 0 0 0 0 64 hardmining 3 0.000001 1.2 0 64.0" # "1 0 0 0 0 64 hardmining 3 0.0000004 1.2 0 64.0" # "1 0 0 0 0 64 hardmining 3 0.0000004 0.8 0 64.0" # "1 1 1 1 1 64 hardmining 3 0.000001 0.8 0 64.0" # "1 1 1 1 1 64 hardmining 3 0.0000002 0.8 0 64.0" # "1 1 1 1 1 64 hardmining 3 0.0000002 1.2 0 64.0" # "1 0 0 0 0 64 hardmining 3 0.0000004 1.6 0 64.0" # BEST 6 # "1 0 0 0 0 64 hardmining 3 0.000001 0.4 0 64.0" # "1 0 0 0 1 64 hardmining 3 0.0000004 1.2 0 64.0" # "1 1 0 0 1 64 hardmining 3 0.0000004 1.2 0 64.0" # "1 0 0 0 0 64 hardmining 2 0.0000004 0.2 0 64.0" # "1 0 0 0 0 64 hardmining 2 0.0000004 0.4 0 64.0" # "1 0 0 0 0 64 hardmining 2 0.0000004 0.8 0 64.0" # "1 0 0 0 0 64 hardmining 2 0.0000002 0.8 0 64.0" # BEST 7 "1 0 0 0 0 64 hardmining 2 0.0000002 1.2 0 64.0" "1 0 0 0 0 64 hardmining 2 0.0000001 1.2 0 64.0" # "1 0 0 0 0 128 hardmining 3 0.0000004 1.2 0 64.0" "1 0 0 0 0 64 hardmining 3 0.000001 0.8 0 64.0" "1 0 0 0 0 64 hardmining 3 0.0000004 1.6 0 64.0" ## Sprobować z mniejszym learning ratem i jeszcze wiekszym batch sizem # "1 0 0 0 0 64 hardmining 2 0.00001 0.2 0 64.0" # "1 0 0 0 0 64 hardmining 2 0.00001 0.2 0 64.0" # "1 0 0 0 1 64 hardmining 2 0.000001 0.2 0 64.0" # "1 0 0 0 1 64 hardmining 2 0.000001 0.3 0 64.0" # "1 1 1 0 1 64 hardmining 2 0.000001 0.2 0 64.0" # "1 1 1 1 1 64 hardmining 2 0.000001 0.2 0 64.0" # "1 1 0 0 0 64 hardmining 2 0.000001 0.2 0 64.0" # "1 1 1 0 1 64 hardmining 2 0.000005 0.2 0 64.0" # "1 1 1 1 1 64 hardmining 2 0.000005 0.2 0 64.0" # "1 0 0 0 1 64 hardmining 3 0.000001 0.2 0 64.0" # "1 1 1 1 1 64 hardmining 3 0.000001 0.2 0 64.0" # "1 0 0 0 1 64 hardmining 3 0.000001 0.3 0 64.0" # "1 1 1 1 1 64 hardmining 3 0.000001 0.3 0 64.0" # "1 0 0 0 1 64 hardmining 2 0.000005 0.2 0" # "0 1 1 1 1 64 hardmining 2 0.0001 0.2" # "1 1 1 1 1 64 hardmining 1 0.00001 0.1" # "1 0 0 1 0 32 hardmining 1 0.000005 0.3" # "0 0 0 0 1 16 hardmining 1 0.000001 0.4" # "1 1 1 1 1 64 hardmining 0 0.00001 0.2" # "0 0 1 1 0 32 hardmining 0 0.0001 0.1" # "1 0 1 0 0 64 hardmining 0 0.000001 0.2" # "1 1 1 1 1 16 hardmining 1 0.0001 0.5" # "1 0 0 1 0 64 hardmining 0 0.00005 0.3" # "0 1 1 0 1 32 hardmining 1 0.000005 0.4" # "1 1 0 0 1 128 hardmining 0 0.000005 0.5" # "0 1 1 0 1 128 hardmining 1 0.00005 0.2" # "1 1 1 1 1 128 hardmining 2 0.000001 0.1" # "0 1 0 1 0 128 hardmining 2 0.00005 0.1" ) RESULTS_FILE="batch_run_results2.txt" > "$RESULTS_FILE" for SET in "${PARAMETER_SETS[@]}"; do read P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 <<< "$SET" echo "--- Starting run with $P1 and $P2 $P3 $P4 $P5 $P6 $P7 $P8 ---" COMMAND_TO_RUN="python3 -m $PYTHON_SCRIPT --clip "$P1" --segformer "$P2" --midas "$P3" --dpt "$P4" --gate "$P5" --batch "${P6}" --train_type "${P7}" --big_fusion_head "$P8" --lr "$P9" --margin "$P10" --alpha "${P12}"" echo "$COMMAND_TO_RUN" if [ "$P11" -eq 1 ]; then OUTPUT=$($COMMAND_TO_RUN 2>&1 | tee /dev/null | tail -n 1) EXIT_CODE=${PIPESTATUS[0]} else OUTPUT=$($COMMAND_TO_RUN 2>&1 | tee /dev/tty | tail -n 1) EXIT_CODE=${PIPESTATUS[0]} fi FINAL_OUTPUT_LINE="$OUTPUT" echo "Run clip=$P1, segformer=$P2, midas=$P3 dpt=$P4 gate=$P5 batch=$P6 train_type=$P7 big_fusion_head=$P8 lr=$P9 margin=$P10 alpha=$P12: Status Code $EXIT_CODE, Result: $FINAL_OUTPUT_LINE" >> "$RESULTS_FILE" if [ $EXIT_CODE -eq 0 ]; then echo "Run with $P1 and $P2 $P3 $P4 $P5 finished **successfully**." else echo "Run with $P1 and $P2 $P3 $P4 $P5 **failed**. Stopping batch." fi echo "---" done echo "All runs in the batch completed successfully." echo "Final results collected in: **$RESULTS_FILE**"