TabM / run_tabm_hyperopt.sh
NeoDiscoveryAdmin's picture
add test model and the train, test files
20eb53e
#!/bin/bash
# TabM Hyperparameter Search (sum_exp_rank) + Final Training + Evaluation
set -e
START_TS="$(date '+%F %T')"
START_EPOCH="$(date +%s)"
echo "[Start] ${START_TS}"
OUT_DIR="tabm_results_hyperopt_parallel"
mkdir -p "$OUT_DIR"
echo "[Hyperopt] Search for TabM hyperparameters (sum_exp_rank) and train the final model..."
python src/tabm_train.py \
--data_file data/tabm_train.tsv \
--model_out "$OUT_DIR/tabm_hyperopt_best.pth" \
--max_evals 30 \
--cv_folds 5 \
--epochs 20 \
--final_epochs 40 \
--batch_size 128 \
--alpha 0.005 \
--tune_k \
--device auto \
--nr_hyperopt_rep 4
MODEL_GLOB="$OUT_DIR/tabm_hyperopt_best_rep*.pth"
echo "Start evaluating (weighted average of multiple models)..."
python src/tabm_eval.py \
--model_glob "$MODEL_GLOB" \
--data_file achieve_features_test.tsv \
--output_file "$OUT_DIR/TabM_NEO_test.txt" \
--output_xlsx "$OUT_DIR/TabM_NEO_test.xlsx" \
--tesla_file "$OUT_DIR/TabM_NEO_test_tesla.txt" \
--tesla_xlsx "$OUT_DIR/TabM_NEO_test_tesla.xlsx" \
--device auto --batch_size 1024 --skip_no_cd8
echo "Evaluation completed!"
END_TS="$(date '+%F %T')"
END_EPOCH="$(date +%s)"
ELAPSED=$((END_EPOCH - START_EPOCH))
H=$((ELAPSED/3600))
M=$(((ELAPSED%3600)/60))
S=$((ELAPSED%60))
printf "[End] %s | Total elapsed: %02d:%02d:%02d\n" "$END_TS" "$H" "$M" "$S"