phase 1
This commit is contained in:
36
pipeline/orchestrator.sh
Executable file
36
pipeline/orchestrator.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
SAMPLE_DIR=${1:-"sample"}
|
||||
TRAIN_DIR="$SAMPLE_DIR/training"
|
||||
VAL_DIR="$SAMPLE_DIR/validation"
|
||||
MODEL_DIR="$SAMPLE_DIR/model"
|
||||
DATA_DIR="$SAMPLE_DIR/dataset"
|
||||
EPOCHS=50
|
||||
|
||||
while true; do
|
||||
echo "--- [준비] 폴더 초기화 ---"
|
||||
rm -rf "$TRAIN_DIR" "$VAL_DIR" "$DATA_DIR" "sample/output/factorize"
|
||||
mkdir -p "$TRAIN_DIR" "$VAL_DIR" "$MODEL_DIR" "$DATA_DIR" "sample/output/factorize" "sample/output"
|
||||
|
||||
echo "--- [채보 선별] ---"
|
||||
find tja -name "*.tja" | sort -R > file_list.txt
|
||||
head -n 200 file_list.txt | xargs -I {} cp {} "$TRAIN_DIR/"
|
||||
tail -n 50 file_list.txt | xargs -I {} cp {} "$VAL_DIR/"
|
||||
|
||||
echo "--- [학습 진행] Epoch: $EPOCHS ---"
|
||||
./scripts/run_train.sh "$TRAIN_DIR" "$MODEL_DIR" "$DATA_DIR" "$EPOCHS"
|
||||
|
||||
echo "--- [검증 및 상수 추론] ---"
|
||||
bun run scripts/predict_batch.ts "$MODEL_DIR" "$SAMPLE_DIR"
|
||||
bun run scripts/compare_results.ts "$SAMPLE_DIR"
|
||||
|
||||
# 오차 검사
|
||||
high_error=$(jq 'map(select(.diff != null and (.diff | tonumber | fabs > 0.1))) | length' "$SAMPLE_DIR/comparison.json")
|
||||
|
||||
if [ "$high_error" -eq 0 ]; then
|
||||
echo "목표 달성: 모든 예측 오차가 0.1 이내입니다."
|
||||
break
|
||||
else
|
||||
echo "오차 발생: $high_error 건이 0.1 초과. 학습 강도(Epoch)를 2배로 늘려 재학습합니다."
|
||||
EPOCHS=$((EPOCHS * 2))
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user