#!/usr/bin/env bash source /workspace/echoloc/.bashrc conda activate mlasr set -e # ================= 变量配置区 ================= # 基础路径 BASE_DIR="/workspace/echoloc/codes/TTS-Framework/logs/vstyle" # 临时打包路径 TEMP_DIR="$HOME/hf_temp_archive" # Hugging Face 仓库 ID HF_REPO="ScorpioMiku/OwnHiES" # 🌟 在这里指定你需要打包的多个文件夹名称(注意用空格或换行隔开,名称外加引号) TARGET_FOLDERS=( "ds3_vstyle_controls_3_17" "ds3_vad_textrefine_emochange" ) # ================= 执行逻辑 ================= echo "🧹 清理并重新创建临时文件夹: ${TEMP_DIR} ..." rm -rf "${TEMP_DIR}" mkdir -p "${TEMP_DIR}" echo "📂 切换到工作目录: ${BASE_DIR}" cd "${BASE_DIR}" echo "📦 开始打包并分块 (每块 40G) 以下文件夹:" for folder in "${TARGET_FOLDERS[@]}"; do # 检查文件夹是否存在,防止拼写错误导致整个流程崩溃 if [ ! -d "$folder" ]; then echo "❌ 错误: 找不到文件夹 '$folder',请检查名字是否正确!" exit 1 fi echo " - $folder" done # 核心命令:将数组里的文件夹展开并传给 tar,然后管道给 split 分块 tar -cf - "${TARGET_FOLDERS[@]}" | split -b 40G - "${TEMP_DIR}/data_part.tar." echo "🚀 打包完成,开始上传到 HuggingFace 仓库: ${HF_REPO} ..." huggingface-cli upload-large-folder "${HF_REPO}" "${TEMP_DIR}" --repo-type dataset echo "✅ 上传成功!"