Self-Forcing-part-2 / scripts /sync_predictor_v4_artifacts.sh
Cccccz's picture
Add files using upload-large-folder tool
2847d0b verified
Raw
History Blame Contribute Delete
1.81 kB
#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
DATASET_SOURCE="${DATASET_SOURCE:-/mnt/local_nvme/zoubin/cz/self_forcing_predictor_v4_1000_seed0}"
TRAIN_SOURCE="${TRAIN_SOURCE:-/mnt/local_nvme/zoubin/cz/self_forcing_predictor_v4_training_1000_seed0}"
DATASET_DESTINATION="${DATASET_DESTINATION:-$ROOT_DIR/data/self_forcing_predictor_v4_1000_seed0}"
TRAIN_DESTINATION="${TRAIN_DESTINATION:-$ROOT_DIR/checkpoints/predictor_v4_1000_seed0}"
for source in "$DATASET_SOURCE" "$TRAIN_SOURCE"; do
if [[ ! -d "$source" ]]; then
echo "错误:找不到 NVMe 源目录:$source" >&2
exit 1
fi
done
if [[ ! -f "$DATASET_SOURCE/train_manifest.jsonl" ]]; then
echo "错误:数据构建尚未完成,缺少 train_manifest.jsonl。" >&2
exit 1
fi
if [[ ! -f "$TRAIN_SOURCE/predictor_step_02000.safetensors" ]]; then
echo "错误:训练尚未完成,缺少 predictor_step_02000.safetensors。" >&2
exit 1
fi
mkdir -p "$DATASET_DESTINATION" "$TRAIN_DESTINATION"
echo "同步数据:$DATASET_SOURCE -> $DATASET_DESTINATION"
rsync -a --partial --human-readable --info=stats2 \
"$DATASET_SOURCE/" "$DATASET_DESTINATION/"
echo "同步训练产物:$TRAIN_SOURCE -> $TRAIN_DESTINATION"
rsync -a --partial --human-readable --info=stats2 \
"$TRAIN_SOURCE/" "$TRAIN_DESTINATION/"
dataset_changes="$(
rsync -a --dry-run --itemize-changes \
"$DATASET_SOURCE/" "$DATASET_DESTINATION/" | wc -l
)"
training_changes="$(
rsync -a --dry-run --itemize-changes \
"$TRAIN_SOURCE/" "$TRAIN_DESTINATION/" | wc -l
)"
if (( dataset_changes != 0 || training_changes != 0 )); then
echo "错误:同步后仍存在差异:dataset=$dataset_changes training=$training_changes" >&2
exit 1
fi
echo "NVMe 产物已完整同步回 Self-Forcing 项目。"