# --- 1. Define your parameters here --- | |
# Special case for your model | |
PACTNET_MODEL="polyatomic" | |
PACTNET_REP="polyatomic" | |
# Baseline models and representations | |
BASELINE_MODELS=("gcn" "gin" "gat" "sage") | |
BASELINE_REPS=("smiles" "selfies" "ecfp") | |
# Datasets for all experiments | |
DATASETS=("esol" "freesolv" "lipophil" "boilingpoint" "qm9" "ic50" "bindingdb") | |
# --- 2. Generate all valid commands --- | |
# We use a subshell `( ... )` to group the output of two separate loops. | |
# This combined output is then piped to GNU Parallel. | |
( | |
# Loop 1: Generate commands for your PACTNet model | |
echo "--- Generating PACTNet Jobs ---" >&2 | |
for dataset in "${DATASETS[@]}"; do | |
echo "python3 main.py --model $PACTNET_MODEL --rep $PACTNET_REP --dataset $dataset" | |
done | |
# Loop 2: Generate commands for all baseline combinations | |
echo "--- Generating Baseline GNN Jobs ---" >&2 | |
for model in "${BASELINE_MODELS[@]}"; do | |
for rep in "${BASELINE_REPS[@]}"; do | |
for dataset in "${DATASETS[@]}"; do | |
echo "python3 main.py --model $model --rep $rep --dataset $dataset" | |
done | |
done | |
done | |
) | \ | |
caffeinate -s parallel -j 10 --bar --eta | |
echo "All jobs complete." |