File size: 3,150 Bytes
d39d850 | 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 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | #!/usr/bin/env bash
set -e
########################################
# 기본 설정 (환경에 맞게 수정)
########################################
CMD="python train.py"
CFG_STAGE1="/workspace/stormer/configs/pretrain_one_step.yaml"
CFG_STAGE2="/workspace/stormer/configs/finetune_multi_step_stage2.yaml"
CFG_STAGE3="/workspace/stormer/configs/finetune_multi_step_stage3.yaml"
DATA_ROOT="/workspace/stormer/wb2_processed"
########################################
# (hidden_size, depth, num_heads) 세트 정의
########################################
SETTINGS=(
"384-18-6"
)
########################################
# sweep loop
########################################
for setting in "${SETTINGS[@]}"; do
# "hidden-depth-head" 파싱
IFS="-" read -r h d nh <<< "${setting}"
RUN_ID="h${h}_d${d}_n${nh}"
echo "============================================================"
echo "RUN: ${RUN_ID} (hidden=${h}, depth=${d}, num_heads=${nh})"
echo "============================================================"
######################################
# STAGE 1 : PRETRAIN (one step)
######################################
# ${CMD} \
# --config "${CFG_STAGE1}" \
# --trainer.default_root_dir "/workspace/stormer/results/pretrain/${RUN_ID}" \
# --trainer.logger.init_args.name "pretrain_one_step_${RUN_ID}" \
# --model.net.init_args.hidden_size "${h}" \
# --model.net.init_args.depth "${d}" \
# --model.net.init_args.num_heads "${nh}" \
# --model.net.patch_size 4 \
# --data.root_dir "${DATA_ROOT}" \
# --data.steps 1 \
# --data.batch_size 1
# yaml에서 dirpath: "${trainer.default_root_dir}/pretrain_one_step/checkpoints"
PRETRAIN_CKPT="/workspace/stormer/results/pretrain/${RUN_ID}/pretrain_one_step_${RUN_ID}/checkpoints/last.ckpt"
######################################
# STAGE 2 : FINETUNE (4 steps)
######################################
${CMD} \
--config "${CFG_STAGE2}" \
--trainer.default_root_dir "/workspace/stormer/results/finetune/4steps_${RUN_ID}" \
--trainer.logger.init_args.name "finetune_4_steps_${RUN_ID}" \
--model.net.init_args.hidden_size "${h}" \
--model.net.init_args.depth "${d}" \
--model.net.init_args.num_heads "${nh}" \
--model.net.patch_size 4 \
--model.pretrained_path "${PRETRAIN_CKPT}" \
--data.root_dir "${DATA_ROOT}" \
--data.steps 4 \
--data.batch_size 1
FINETUNE4_CKPT="/workspace/stormer/results/finetune/4steps_${RUN_ID}/finetune_4_steps_${RUN_ID}/checkpoints/last.ckpt"
######################################
# STAGE 3 : FINETUNE (8 steps)
######################################
${CMD} \
--config "${CFG_STAGE3}" \
--trainer.default_root_dir "/workspace/stormer/results/finetune/8steps_${RUN_ID}" \
--trainer.logger.init_args.name "finetune_8_steps_${RUN_ID}" \
--model.net.init_args.hidden_size "${h}" \
--model.net.init_args.depth "${d}" \
--model.net.init_args.num_heads "${nh}" \
--model.net.patch_size 4 \
--model.pretrained_path "${FINETUNE4_CKPT}" \
--data.root_dir "${DATA_ROOT}" \
--data.steps 8 \
--data.batch_size 1
done |