GaussianHaircut/download_resource.bat
2025-02-16 22:42:15 +08:00

293 lines
9.4 KiB
Batchfile
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@echo off
setlocal enabledelayedexpansion
SET PROJECT_DIR=%~dp0
cd %PROJECT_DIR%
REM 定义文件路径
SET "NEURAL_HAIRCUT_FOLDER_PATH=resource\NeuralHaircut"
SET "PIXIE_PATH=resource\NeuralHaircut\PIXIE\pixie_data\pixie_data"
SET "MATTE_PATH=resource\Matte-Anything\model.pth"
SET "SAM_PATH=resource\Matte-Anything\sam_vit_h_4b8939.pth"
SET "DINO_PATH=resource\Matte-Anything\groundingdino_swint_ogc.pth"
SET "OPENPOSE_PATH=resource\openpose\models\pose\coco\pose_iter_584000.caffemodel"
SET "HYPERIQA_PATH=resource\hyperIQA\pretrained\hyperIQA.pth"
REM 检查已有模型文件
echo 正在检查已有模型文件...
SET MISSING_FILES=0
SET /A TOTAL_FILES=7
SET /A EXISTING_FILES=0
SET MISSING_LIST=
IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\dif_ckpt.pt" (
echo [√] Neural Haircut Diffusion Prior模型已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少Neural Haircut Diffusion Prior模型
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!Neural Haircut Diffusion Prior,
)
IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\strand_ckpt.pt" (
echo [√] Neural Haircut Strand Prior模型已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少Neural Haircut Strand Prior模型
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!Neural Haircut Strand Prior,
)
IF EXIST "%PIXIE_PATH%" (
echo [√] PIXIE模型已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少PIXIE模型
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!PIXIE,
)
IF EXIST "%SAM_PATH%" (
echo [√] SAM模型已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少SAM模型
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!SAM,
)
IF EXIST "%DINO_PATH%" (
echo [√] GroundingDINO模型已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少GroundingDINO模型
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!GroundingDINO,
)
IF EXIST "%MATTE_PATH%" (
echo [√] Matte-Anything模型已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少Matte-Anything模型
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!Matte-Anything,
)
IF EXIST "%OPENPOSE_PATH%" (
echo [√] OpenPose模型已存在
SET /A EXISTING_FILES+=1
) ELSE (
echo [×] 缺少OpenPose模型
SET /A MISSING_FILES+=1
SET MISSING_LIST=!MISSING_LIST!OpenPose,
)
echo.
echo 已存在 %EXISTING_FILES%/%TOTAL_FILES% 个模型文件
IF %MISSING_FILES% GTR 0 (
echo 需要下载 %MISSING_FILES% 个模型文件
echo 缺少的模型: !MISSING_LIST:~0,-2!
echo.
echo ************************************************************
echo * 开始下载所需资源文件 *
echo * 下载时间取决于您的网络连接速度 *
echo * 请耐心等待... *
echo ************************************************************
) ELSE (
echo 所有模型文件已存在,无需下载
exit /b 0
)
echo ======================================= 基础环境配置 ==============================================
echo.
echo **************************************************************************************************
echo * 基础环境配置 *
echo * 检查Python是否安装更新pip安装gdown *
echo * 请耐心等待... *
echo **************************************************************************************************
echo.
REM 检查Python是否安装
python --version >nul 2>nul
IF %ERRORLEVEL% NEQ 0 (
echo 错误未找到Python
echo 请安装Python并将其添加到系统环境变量PATH中
exit /b 1
)
REM 更新pip
python -m pip install --upgrade pip
REM 检查gdown是否已安装
python -c "import gdown" >nul 2>nul
IF %ERRORLEVEL% EQU 0 (
echo gdown已安装跳过安装步骤...
) ELSE (
REM 安装gdown
echo 正在安装gdown...
python -m pip install --user gdown --upgrade
python -m pip install --user requests --upgrade
IF %ERRORLEVEL% NEQ 0 (
echo 错误gdown安装失败
echo 请检查网络连接后重试
exit /b 1
)
)
REM 添加Python Scripts目录到PATH
for /f "tokens=*" %%i in ('python -c "import sys; print(sys.executable)"') do set PYTHON_PATH=%%i
set PYTHON_SCRIPTS_PATH=%PYTHON_PATH:python.exe=Scripts%
set PYTHON_USER_SCRIPTS=%USERPROFILE%\AppData\Roaming\Python\Python3*\Scripts
set PATH=%PYTHON_SCRIPTS_PATH%;%PYTHON_USER_SCRIPTS%;%PATH%
REM 检查7-Zip是否安装
where 7z >nul 2>nul
IF %ERRORLEVEL% NEQ 0 (
echo 错误未找到7-Zip
echo 请从 https://7-zip.org/ 下载并安装7-Zip
echo 并将其添加到系统环境变量PATH中
exit /b 1
)
REM 验证gdown是否可用
echo 正在验证gdown安装...
python -c "import gdown" >nul 2>nul
IF %ERRORLEVEL% NEQ 0 (
echo 错误gdown安装验证失败
echo 请重新运行脚本
exit /b 1
)
echo gdown安装成功
echo.
echo ======================================= 开始下载所需资源文件 =======================================
echo.
echo **************************************************************************************************
echo * 开始下载所需资源文件 *
echo * 下载时间取决于您的网络连接速度 *
echo * 请耐心等待... *
echo **************************************************************************************************
echo.
echo [1/8] 正在下载Neural Haircut文件...
mkdir %PROJECT_DIR%/resource/NeuralHaircut
cd %PROJECT_DIR%/resource/NeuralHaircut
IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\dif_ckpt.pt" (
IF EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\strand_ckpt.pt" (
echo Neural Haircut文件已存在跳过下载...
) ELSE (
echo Neural Haircut Strand Prior模型不完整重新下载...
python -m gdown --folder "https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8"
)
) ELSE (
echo Neural Haircut Diffusion Prior模型不完整重新下载...
python -m gdown --folder "https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8"
)
REM 检查下载后的文件完整性
IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\dif_ckpt.pt" (
echo 错误Neural Haircut Diffusion Prior模型下载失败
exit /b 1
)
IF NOT EXIST "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\strand_ckpt.pt" (
echo 错误Neural Haircut Strand Prior模型下载失败
exit /b 1
)
echo [2/8] 正在下载Neural HaircutPIXIE模型文件...
IF EXIST "%PIXIE_PATH%" (
echo PIXIE模型已存在跳过下载...
) ELSE (
mkdir %PROJECT_DIR%/resource/NeuralHaircut/PIXIE
cd %PROJECT_DIR%/resource/NeuralHaircut/PIXIE
python -m gdown "1mPcGu62YPc4MdkT8FFiOCP629xsENHZf" && tar -xvzf pixie_data.tar.gz ./ && rm pixie_data.tar.gz
cd %PROJECT_DIR%
)
echo [3/8] 正在下载hyperIQA模型文件...
mkdir %PROJECT_DIR%/resource/hyperIQA/pretrained
cd %PROJECT_DIR%/resource/hyperIQA/pretrained
IF EXIST "hyperIQA.pth" (
echo hyperIQA模型已存在跳过下载...
) ELSE (
python -m gdown "1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE"
IF NOT EXIST "hyperIQA.pth" (
echo 错误hyperIQA模型下载失败
exit /b 1
)
)
cd %PROJECT_DIR%
echo [4/8] 正在下载Matte-Anything扩散先验模型文件...
mkdir %PROJECT_DIR%/resource/Matte-Anything/pretrained
cd %PROJECT_DIR%/resource/Matte-Anything/pretrained
IF EXIST "sam_vit_h_4b8939.pth" (
echo SAM模型已存在跳过下载...
) ELSE (
wget "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth"
IF NOT EXIST "sam_vit_h_4b8939.pth" (
echo 错误SAM模型下载失败
exit /b 1
)
)
echo [5/8] 正在下载Matte-AnythingGroundingDINO模型文件...
IF EXIST "groundingdino_swint_ogc.pth" (
echo GroundingDINO模型已存在跳过下载...
) ELSE (
wget "https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth"
IF NOT EXIST "groundingdino_swint_ogc.pth" (
echo 错误GroundingDINO模型下载失败
exit /b 1
)
)
echo [6/8] 正在下载Matte-Anything模型文件...
IF EXIST "model.pth" (
echo Matte-Anything模型已存在跳过下载...
) ELSE (
python -m gdown "1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW"
IF NOT EXIST "model.pth" (
echo 错误Matte-Anything模型下载失败
exit /b 1
)
)
cd %PROJECT_DIR%
echo [7/8] 正在下载OpenPose模型文件...
mkdir %PROJECT_DIR%/resource/openpose/models/pose/coco
cd %PROJECT_DIR%/resource/openpose/models/pose/coco
IF EXIST "pose_iter_584000.caffemodel" (
echo OpenPose模型已存在跳过下载...
) ELSE (
python -m gdown "1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV" && tar -xvzf models.tar.gz && rm models.tar.gz
IF NOT EXIST "pose_iter_584000.caffemodel" (
echo 错误OpenPose模型下载失败
exit /b 1
)
)
cd %PROJECT_DIR%