|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
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" |