Files
fumen-measure-analyze/run_pipeline.sh
2026-04-24 03:39:25 +09:00

46 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Default values
TJA_DIR="datas/tja"
MEASURE_CSV="datas/measure.csv"
DATASET_CSV="datas/dataset.csv"
THRESHOLD=0.1
TRAIN_COUNT=0 # 0 means all
MAX_EPOCHS=5000
MODEL_PATH="model/constant_predictor.joblib"
# Parse arguments
while [[ "$#" -gt 0 ]]; do
case $1 in
--tja_dir) TJA_DIR="$2"; shift ;;
--measure_csv) MEASURE_CSV="$2"; shift ;;
--threshold) THRESHOLD="$2"; shift ;;
--train_count) TRAIN_COUNT="$2"; shift ;;
--max_epochs) MAX_EPOCHS="$2"; shift ;;
*) echo "Unknown parameter passed: $1"; exit 1 ;;
esac
shift
done
ITERATIONS=${ITERATIONS:-50}
BATCH_SIZE=${BATCH_SIZE:-200}
echo "--- Step 1: TJA Factorization ---"
bun run src/factorize.ts "$TJA_DIR" "$MEASURE_CSV" "$DATASET_CSV"
echo "--- Step 2: Incremental Training ---"
python3 model/train.py --dataset "$DATASET_CSV" --model_path "$MODEL_PATH" --batch_size "$BATCH_SIZE" --iterations "$ITERATIONS"
if [ $? -ne 0 ]; then
echo "Training failed."
exit 1
fi
echo "--- Step 3: Model Validation (Sample) ---"
# Pick a random TJA from the dir to see prediction
SAMPLE_TJA=$(ls $TJA_DIR/*.tja | head -n 1)
echo "Testing on $SAMPLE_TJA..."
bun run src/predict.ts "$MODEL_PATH" "$SAMPLE_TJA" "oni"
echo "--- Pipeline Complete ---"