File size: 1,334 Bytes
20eb53e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/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"