GaussianHaircut/download_resource.bat

293 lines
9.4 KiB
Batchfile
Raw Normal View History

2025-02-15 14:31:02 +08:00
@echo off
setlocal enabledelayedexpansion
2025-02-16 18:47:22 +08:00
SET PROJECT_DIR=%~dp0
cd %PROJECT_DIR%
2025-02-16 22:40:27 +08:00
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"
2025-02-15 16:08:48 +08:00
2025-02-16 22:42:15 +08:00
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
)
2025-02-16 22:14:53 +08:00
echo ======================================= 基础环境配置 ==============================================
echo.
echo **************************************************************************************************
echo * 基础环境配置 *
echo * 检查Python是否安装更新pip安装gdown *
echo * 请耐心等待... *
echo **************************************************************************************************
echo.
2025-02-15 16:08:48 +08:00
REM 检查Python是否安装
python --version >nul 2>nul
2025-02-15 14:46:18 +08:00
IF %ERRORLEVEL% NEQ 0 (
2025-02-15 16:42:39 +08:00
echo 错误未找到Python
echo 请安装Python并将其添加到系统环境变量PATH中
2025-02-15 16:08:48 +08:00
exit /b 1
)
2025-02-15 16:42:39 +08:00
REM 更新pip
python -m pip install --upgrade pip
2025-02-15 21:12:05 +08:00
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
)
2025-02-15 16:08:48 +08:00
)
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%
2025-02-16 22:14:53 +08:00
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
)
2025-02-15 16:08:48 +08:00
REM 验证gdown是否可用
2025-02-15 16:42:39 +08:00
echo 正在验证gdown安装...
2025-02-15 16:36:21 +08:00
python -c "import gdown" >nul 2>nul
2025-02-15 16:08:48 +08:00
IF %ERRORLEVEL% NEQ 0 (
2025-02-15 16:42:39 +08:00
echo 错误gdown安装验证失败
echo 请重新运行脚本
2025-02-15 14:46:18 +08:00
exit /b 1
)
2025-02-15 16:42:39 +08:00
echo gdown安装成功
2025-02-15 16:36:21 +08:00
echo.
2025-02-15 14:46:18 +08:00
2025-02-16 22:14:53 +08:00
echo ======================================= 开始下载所需资源文件 =======================================
2025-02-16 18:59:38 +08:00
echo.
2025-02-16 22:14:53 +08:00
echo **************************************************************************************************
echo * 开始下载所需资源文件 *
echo * 下载时间取决于您的网络连接速度 *
echo * 请耐心等待... *
echo **************************************************************************************************
2025-02-16 18:59:38 +08:00
echo.
2025-02-16 22:14:53 +08:00
echo [1/8] 正在下载Neural Haircut文件...
mkdir %PROJECT_DIR%/resource/NeuralHaircut
2025-02-16 18:38:41 +08:00
cd %PROJECT_DIR%/resource/NeuralHaircut
2025-02-16 22:40:27 +08:00
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"
)
2025-02-16 18:38:41 +08:00
2025-02-16 22:40:27 +08:00
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
)
2025-02-16 18:38:41 +08:00
2025-02-16 22:40:27 +08:00
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%
)
2025-02-16 18:38:41 +08:00
2025-02-16 22:40:27 +08:00
echo [3/8] 正在下载hyperIQA模型文件...
2025-02-16 22:14:53 +08:00
mkdir %PROJECT_DIR%/resource/hyperIQA/pretrained
2025-02-16 18:24:59 +08:00
cd %PROJECT_DIR%/resource/hyperIQA/pretrained
2025-02-16 22:40:27 +08:00
IF EXIST "hyperIQA.pth" (
echo hyperIQA模型已存在跳过下载...
) ELSE (
python -m gdown "1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE"
IF NOT EXIST "hyperIQA.pth" (
echo 错误hyperIQA模型下载失败
exit /b 1
)
)
2025-02-16 18:24:59 +08:00
cd %PROJECT_DIR%
2025-02-16 22:40:27 +08:00
echo [4/8] 正在下载Matte-Anything扩散先验模型文件...
2025-02-16 22:14:53 +08:00
mkdir %PROJECT_DIR%/resource/Matte-Anything/pretrained
2025-02-16 18:24:59 +08:00
cd %PROJECT_DIR%/resource/Matte-Anything/pretrained
2025-02-16 22:40:27 +08:00
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
)
)
2025-02-16 22:14:53 +08:00
cd %PROJECT_DIR%
2025-02-16 18:24:59 +08:00
2025-02-16 22:40:27 +08:00
echo [7/8] 正在下载OpenPose模型文件...
2025-02-16 22:14:53 +08:00
mkdir %PROJECT_DIR%/resource/openpose/models/pose/coco
cd %PROJECT_DIR%/resource/openpose/models/pose/coco
2025-02-16 22:40:27 +08:00
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
)
)
2025-02-16 18:38:41 +08:00
cd %PROJECT_DIR%
2025-02-16 22:14:53 +08:00
2025-02-16 18:24:59 +08:00
2025-02-16 00:48:21 +08:00
2025-02-16 14:40:58 +08:00
2025-02-15 14:31:02 +08:00
2025-02-15 14:46:18 +08:00
2025-02-16 00:48:21 +08:00
2025-02-16 16:51:05 +08:00
2025-02-16 00:48:21 +08:00
2025-02-16 17:04:07 +08:00
2025-02-15 21:12:05 +08:00