| #!/usr/bin/env bash |
|
|
| ENV_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
| VGEN_ROOT_DEFAULT="$(cd "$ENV_DIR/../.." && pwd)" |
| WORKSPACE_ROOT_DEFAULT="$(cd "$VGEN_ROOT_DEFAULT/.." && pwd)" |
| SHARED_DEV_ROOT_DEFAULT="/apdcephfs_sgxy/share_304169095/hunyuan/juliayxzhu/dev" |
|
|
| VGEN_ROOT="${VGEN_ROOT:-$VGEN_ROOT_DEFAULT}" |
| WORKSPACE_ROOT="${WORKSPACE_ROOT:-$WORKSPACE_ROOT_DEFAULT}" |
| DEV_ROOT="${DEV_ROOT:-$WORKSPACE_ROOT}" |
| SHARED_DEV_ROOT="${SHARED_DEV_ROOT:-$SHARED_DEV_ROOT_DEFAULT}" |
| LOCAL_MODELS_ROOT="${LOCAL_MODELS_ROOT:-$WORKSPACE_ROOT/models}" |
| SHARED_MODELS_ROOT="${SHARED_MODELS_ROOT:-$SHARED_DEV_ROOT/Models}" |
| MODELS_ROOT="${MODELS_ROOT:-$LOCAL_MODELS_ROOT}" |
| CONDA_ROOT="${CONDA_ROOT:-$SHARED_DEV_ROOT/miniconda3}" |
| CONDA_SH="${CONDA_SH:-$CONDA_ROOT/etc/profile.d/conda.sh}" |
| DIFFSYNTH_ROOT="${DIFFSYNTH_ROOT:-$VGEN_ROOT/third_party/DiffSynth-Studio}" |
|
|
| DIFF_ENV="${DIFF_ENV:-diff}" |
|
|
| resolve_model_path() { |
| local explicit_var="$1" |
| local relative_name="$2" |
| local explicit_value="${!explicit_var:-}" |
| if [[ -n "$explicit_value" ]]; then |
| printf '%s\n' "$explicit_value" |
| return |
| fi |
| if [[ -e "$LOCAL_MODELS_ROOT/$relative_name" ]]; then |
| printf '%s\n' "$LOCAL_MODELS_ROOT/$relative_name" |
| return |
| fi |
| printf '%s\n' "$SHARED_MODELS_ROOT/$relative_name" |
| } |
|
|
| resolve_workspace_dir() { |
| local explicit_var="$1" |
| shift |
| local explicit_value="${!explicit_var:-}" |
| if [[ -n "$explicit_value" ]]; then |
| printf '%s\n' "$explicit_value" |
| return |
| fi |
| local first_candidate="$1" |
| local candidate |
| for candidate in "$@"; do |
| if [[ -e "$candidate" ]]; then |
| printf '%s\n' "$candidate" |
| return |
| fi |
| done |
| printf '%s\n' "$first_candidate" |
| } |
|
|
| QWEN_IMAGE_MODEL="${QWEN_IMAGE_MODEL:-$(resolve_model_path QWEN_IMAGE_MODEL Qwen-Image)}" |
| BERNINI_IMAGE_CONFIG="${BERNINI_IMAGE_CONFIG:-$(resolve_model_path BERNINI_IMAGE_CONFIG Bernini-Diffusers)}" |
| IMAGE_BACKEND="${IMAGE_BACKEND:-auto}" |
| PERSISTENT_VIDEO_BACKENDS="${PERSISTENT_VIDEO_BACKENDS:-1}" |
| COSYVOICE_MODEL="${COSYVOICE_MODEL:-$(resolve_model_path COSYVOICE_MODEL CosyVoice3-0.5B-2512)}" |
| WAN_I2V_MODEL="${WAN_I2V_MODEL:-$(resolve_model_path WAN_I2V_MODEL Wan2.2-I2V-A14B)}" |
| WAN_VACE_MODEL="${WAN_VACE_MODEL:-$(resolve_model_path WAN_VACE_MODEL Wan2.2-VACE-Fun-A14B)}" |
| BINDWEAVE_ROOT="${BINDWEAVE_ROOT:-$(resolve_workspace_dir BINDWEAVE_ROOT "$VGEN_ROOT/third_party/BindWeave")}" |
| BINDWEAVE_SOURCE_MODEL="${BINDWEAVE_SOURCE_MODEL:-$(resolve_model_path BINDWEAVE_SOURCE_MODEL BindWeave)}" |
| BINDWEAVE_CHECKPOINT="${BINDWEAVE_CHECKPOINT:-$(resolve_model_path BINDWEAVE_CHECKPOINT BindWeave-MM)}" |
| BINDWEAVE_WAN21_MODEL="${BINDWEAVE_WAN21_MODEL:-$(resolve_model_path BINDWEAVE_WAN21_MODEL Wan2.1-I2V-14B-720P-Diffusers)}" |
| BINDWEAVE_QWEN_MODEL="${BINDWEAVE_QWEN_MODEL:-$(resolve_model_path BINDWEAVE_QWEN_MODEL Qwen2.5-VL-7B-Instruct)}" |
| BINDWEAVE_PYTHON="${BINDWEAVE_PYTHON:-}" |
| BINDWEAVE_DEVICE="${BINDWEAVE_DEVICE:-npu}" |
| BINDWEAVE_NPROC_PER_NODE="${BINDWEAVE_NPROC_PER_NODE:-8}" |
| BINDWEAVE_CONTEXT_PARALLEL_SIZE="${BINDWEAVE_CONTEXT_PARALLEL_SIZE:-0}" |
| BINDWEAVE_MASTER_PORT="${BINDWEAVE_MASTER_PORT:-6000}" |
| QWEN35_27B_MODEL="${QWEN35_27B_MODEL:-$(resolve_model_path QWEN35_27B_MODEL qwen3.5-27b)}" |
| BERNINI_CONFIG="${BERNINI_CONFIG:-$(resolve_model_path BERNINI_CONFIG Bernini-Diffusers)}" |
| BERNINI_R_CONFIG="${BERNINI_R_CONFIG:-$(resolve_model_path BERNINI_R_CONFIG Bernini-R-Diffusers)}" |
| HUNYUANVIDEO_MODEL="${HUNYUANVIDEO_MODEL:-$(resolve_model_path HUNYUANVIDEO_MODEL HunyuanVideo-1.5)}" |
| COMFYUI_ROOT="${COMFYUI_ROOT:-$(resolve_workspace_dir COMFYUI_ROOT "$WORKSPACE_ROOT/ComfyUI" "$WORKSPACE_ROOT/ComfyUI-master")}" |
| BERNINI_ROOT="${BERNINI_ROOT:-$(resolve_workspace_dir BERNINI_ROOT "$WORKSPACE_ROOT/Bernini" "$WORKSPACE_ROOT/Bernini-main")}" |
| BERNINI_PYTHON="${BERNINI_PYTHON:-$WORKSPACE_ROOT/venv/bernini/bin/python}" |
| HUNYUANVIDEO_ROOT="${HUNYUANVIDEO_ROOT:-$(resolve_workspace_dir HUNYUANVIDEO_ROOT "$WORKSPACE_ROOT/HunyuanVideo-1.5-local" "$SHARED_DEV_ROOT/HunyuanVideo-1.5")}" |
| HUNYUANVIDEO_PYTHON="${HUNYUANVIDEO_PYTHON:-$CONDA_ROOT/envs/$DIFF_ENV/bin/python}" |
|
|
| LOG_DIR="${LOG_DIR:-$VGEN_ROOT/logs}" |
| RUNTIME_DIR="${RUNTIME_DIR:-$VGEN_ROOT/runtime}" |
| LOCAL_OUTPUT_ROOT="${LOCAL_OUTPUT_ROOT:-$VGEN_ROOT/outputs/poetry_teaching}" |
|
|
| export VGEN_ROOT WORKSPACE_ROOT DEV_ROOT SHARED_DEV_ROOT CONDA_ROOT CONDA_SH DIFFSYNTH_ROOT MODELS_ROOT LOCAL_MODELS_ROOT SHARED_MODELS_ROOT |
| export DIFF_ENV |
| export QWEN_IMAGE_MODEL BERNINI_IMAGE_CONFIG IMAGE_BACKEND PERSISTENT_VIDEO_BACKENDS COSYVOICE_MODEL WAN_I2V_MODEL WAN_VACE_MODEL QWEN35_27B_MODEL |
| export BERNINI_CONFIG BERNINI_R_CONFIG BERNINI_PYTHON |
| export HUNYUANVIDEO_MODEL HUNYUANVIDEO_ROOT HUNYUANVIDEO_PYTHON |
| export BINDWEAVE_ROOT BINDWEAVE_SOURCE_MODEL BINDWEAVE_CHECKPOINT BINDWEAVE_WAN21_MODEL BINDWEAVE_QWEN_MODEL |
| export BINDWEAVE_PYTHON BINDWEAVE_DEVICE BINDWEAVE_NPROC_PER_NODE BINDWEAVE_CONTEXT_PARALLEL_SIZE BINDWEAVE_MASTER_PORT |
| export COMFYUI_ROOT BERNINI_ROOT |
| export LOG_DIR RUNTIME_DIR LOCAL_OUTPUT_ROOT |
|
|