Spaces:
Sleeping
Sleeping
devjas1
commited on
Commit
·
8ce4090
1
Parent(s):
04138ef
(fix): correct syntax errors in validation script and improve error handling
Browse files- validate_pipeline.sh +10 -3
validate_pipeline.sh
CHANGED
|
@@ -12,17 +12,17 @@ YLW='\033[1;33m'
|
|
| 12 |
NC='\033[0m'
|
| 13 |
|
| 14 |
die() {
|
| 15 |
-
echo -e "{RED}[FAIL] $1${NC}"
|
| 16 |
exit 1
|
| 17 |
}
|
| 18 |
-
pass() { echo -e "{GRN}[PASS] $1${NC}"; }
|
| 19 |
|
| 20 |
echo -e "${YLW}>>> Activating environment...${NC}"
|
| 21 |
source "$(conda info --base)/etc/profile.d/conda.sh"
|
| 22 |
conda activate polymer_env || die "conda env 'polymer_env' not found"
|
| 23 |
|
| 24 |
root_dir="$(dirname "$(readlink -f "$0")")"
|
| 25 |
-
cd "$root_dir" ||
|
| 26 |
|
| 27 |
# ---------- Step 1: Preprocessing ----------
|
| 28 |
echo -e "${YLW}>>> Step 1: Preprocessing${NC}"
|
|
@@ -32,6 +32,11 @@ python scripts/preprocess_dataset.py datasets/rdwp \
|
|
| 32 |
pass "Preprocessing"
|
| 33 |
|
| 34 |
# ---------- Step 2: CV Training (Figure2) ----------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
echo -e "${YLW}>>> Step 2: 10-Fold CV Training${NC}"
|
| 36 |
python scripts/train_model.py \
|
| 37 |
--target-len 500 --baseline --smooth --normalize \
|
|
@@ -39,6 +44,7 @@ python scripts/train_model.py \
|
|
| 39 |
[[ -f outputs/figure2_model.pth ]] || die "model .pth not found"
|
| 40 |
[[ -f outputs/logs/raman_figure2_diagnostics.json ]] || die "diagnostics JSON not found"
|
| 41 |
pass "Training & artifacts"
|
|
|
|
| 42 |
|
| 43 |
# ---------- Step 3: Inference ----------
|
| 44 |
echo -e "${YLW}>>> Step 3: Inference${NC}"
|
|
@@ -52,6 +58,7 @@ pass "Inference"
|
|
| 52 |
|
| 53 |
# ---------- Step 4: Spectrum Plot ----------
|
| 54 |
echo -e "${YLW}>>> Step 4: Plot Spectrum${NC}"
|
|
|
|
| 55 |
python scripts/plot_spectrum.py --input datasets/rdwp/sta-10.txt
|
| 56 |
[[ $? -eq 0 ]] || die "plot_spectrum.py failed"
|
| 57 |
pass "Plotting"
|
|
|
|
| 12 |
NC='\033[0m'
|
| 13 |
|
| 14 |
die() {
|
| 15 |
+
echo -e "${RED}[FAIL] $1${NC}"
|
| 16 |
exit 1
|
| 17 |
}
|
| 18 |
+
pass() { echo -e "${GRN}[PASS] $1${NC}"; }
|
| 19 |
|
| 20 |
echo -e "${YLW}>>> Activating environment...${NC}"
|
| 21 |
source "$(conda info --base)/etc/profile.d/conda.sh"
|
| 22 |
conda activate polymer_env || die "conda env 'polymer_env' not found"
|
| 23 |
|
| 24 |
root_dir="$(dirname "$(readlink -f "$0")")"
|
| 25 |
+
cd "$root_dir" || die "repo root not found"
|
| 26 |
|
| 27 |
# ---------- Step 1: Preprocessing ----------
|
| 28 |
echo -e "${YLW}>>> Step 1: Preprocessing${NC}"
|
|
|
|
| 32 |
pass "Preprocessing"
|
| 33 |
|
| 34 |
# ---------- Step 2: CV Training (Figure2) ----------
|
| 35 |
+
mkdir -p outputs outputs/logs || true
|
| 36 |
+
# Optional: skip gracefully if dataset is not present
|
| 37 |
+
if [ ! -d "datasets/rdwp" ] || [ -z "$(find datasets/rdwp -maxdepth 1 -name '*.txt' 2>/dev/null)" ]; then
|
| 38 |
+
echo -e "${YLW}{SKIP} Training (no datasets/rdwp/*.txt found)${NC}"
|
| 39 |
+
else
|
| 40 |
echo -e "${YLW}>>> Step 2: 10-Fold CV Training${NC}"
|
| 41 |
python scripts/train_model.py \
|
| 42 |
--target-len 500 --baseline --smooth --normalize \
|
|
|
|
| 44 |
[[ -f outputs/figure2_model.pth ]] || die "model .pth not found"
|
| 45 |
[[ -f outputs/logs/raman_figure2_diagnostics.json ]] || die "diagnostics JSON not found"
|
| 46 |
pass "Training & artifacts"
|
| 47 |
+
fi
|
| 48 |
|
| 49 |
# ---------- Step 3: Inference ----------
|
| 50 |
echo -e "${YLW}>>> Step 3: Inference${NC}"
|
|
|
|
| 58 |
|
| 59 |
# ---------- Step 4: Spectrum Plot ----------
|
| 60 |
echo -e "${YLW}>>> Step 4: Plot Spectrum${NC}"
|
| 61 |
+
mkdir -p outputs/inference || true
|
| 62 |
python scripts/plot_spectrum.py --input datasets/rdwp/sta-10.txt
|
| 63 |
[[ $? -eq 0 ]] || die "plot_spectrum.py failed"
|
| 64 |
pass "Plotting"
|