Repository navigation
Expand file tree
/
Copy pathrun_mvc_batch.sh
More file actions
65 lines (53 loc) · 2 KB
/
Copy pathrun_mvc_batch.sh
File metadata and controls
65 lines (53 loc) · 2 KB
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#!/bin/bash
# ==============================================================================
# MVCBench Multimodal Prediction Benchmark Script
# Task: Evaluating MVC Model Performance with different Molecular Embeddings
# Datasets: MVC_BBBC047, MVC_BBBC036
# ==============================================================================
# 1. 基础配置
GPU_ID=0
EPOCHS=2 # MVC 模型参数较多,通常需要较多轮次收敛
BATCH_SIZE=1024
LR=1e-3
PROJECT_ROOT=".."
LOG_DIR="${PROJECT_ROOT}/results/logs_mvc"
mkdir -p "$LOG_DIR"
# 2. 定义数据集 (MVC 专用键名,对应 configs.py)
MVC_DATASETS=("MVC_BBBC047" "MVC_BBBC036")
# 3. 定义分子表征 (12种)
MOLECULE_FEATURES=(
"ECFP4"
# "KPGT" "InfoAlign" "ChemBERTa2" "MolT5"
# "Chemprop" "MolCLR" "Mole_BERT" "GeminiMol"
# "Ouroboros" "UniMol" "UniMolV2"
)
echo "============================================"
echo "Starting MVC Benchmarks"
echo "Log Directory: $LOG_DIR"
echo "============================================"
for dataset in "${MVC_DATASETS[@]}"; do
for mol in "${MOLECULE_FEATURES[@]}"; do
# 定义日志文件
log_file="${LOG_DIR}/${dataset}_Mol-${mol}.log"
echo "[$(date)] Running MVC: Dataset=$dataset | Mol=$mol"
# 调用 train_mvc.py
CUDA_VISIBLE_DEVICES=$GPU_ID python $PROJECT_ROOT/train_mvc.py \
--dataset_name "$dataset" \
--molecule_feature "$mol" \
--n_epochs $EPOCHS \
--batch_size $BATCH_SIZE \
--lr $LR \
--split_data_type "smiles_split" \
--save_dir_root "${PROJECT_ROOT}/results" \
> "$log_file" 2>&1
# 状态检查
if [ $? -eq 0 ]; then
echo " SUCCESS. Log: $log_file"
else
echo " FAILED. Check log: $log_file"
fi
done
done
echo "============================================"
echo "MVC Benchmarks Completed."
echo "============================================"