From 6525039be173efb50d1f4fcd36fb3d65781f837d Mon Sep 17 00:00:00 2001 From: Jeffreytsai1004 Date: Mon, 17 Feb 2025 00:55:28 +0800 Subject: [PATCH] Update download_resource.bat --- download_resource.bat | 343 +++--------------------------------------- 1 file changed, 23 insertions(+), 320 deletions(-) diff --git a/download_resource.bat b/download_resource.bat index dbd6cfe..6e9552a 100644 --- a/download_resource.bat +++ b/download_resource.bat @@ -1,323 +1,26 @@ -@echo off -REM 注意:请将此文件保存为"UTF-8 无 BOM"或 ANSI 编码,而不要使用带 BOM 的 UTF-8 -chcp 65001 >nul -setlocal EnableDelayedExpansion - -REM 定义项目目录 -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 ======================================================================== -REM 1. 检查已有模型文件(使用 [√] 和 [×] 提示) -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! 个模型文件 - set "TMP=!MISSING_LIST!" - set "TMP=!TMP:~0,-2!" - echo 缺少的模型: !TMP! - echo. - echo ************************************************************ - echo * 开始下载所需资源文件 * - echo * 下载时间取决于您的网络连接速度 * - echo * 请耐心等待... * - echo ************************************************************ -) else ( - echo 所有模型文件已存在,无需下载 - exit /b 0 -) - -REM ======================================================================== -REM 2. 基础环境配置:检查 Python、更新 pip、安装 gdown、检查 7-Zip -REM ======================================================================== -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 ( - 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. - -REM ======================================================================== -REM 3. 根据验证结果下载缺失的模型文件 -REM ======================================================================== -echo ======================================= 开始下载所需资源文件 ======================================= -echo. -echo ************************************************************************************************** -echo * 开始下载所需资源文件 * -echo * 下载时间取决于您的网络连接速度 * -echo * 请耐心等待... * -echo ************************************************************************************************** -echo. - -REM 下载 Neural Haircut Diffusion Prior 模型 -if not exist "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\dif_ckpt.pt" ( - echo [1/%MISSING_FILES%] 正在下载 Neural Haircut Diffusion Prior模型... - mkdir "%PROJECT_DIR%\resource\NeuralHaircut\pretrained_models\diffusion_prior" >nul 2>&1 - cd "%PROJECT_DIR%\resource\NeuralHaircut" - python -m gdown --folder "https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8" - cd "%PROJECT_DIR%" - if not exist "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\diffusion_prior\dif_ckpt.pt" ( - echo 错误:Neural Haircut Diffusion Prior模型下载失败 - exit /b 1 - ) -) - -REM 下载 Neural Haircut Strand Prior 模型 -if not exist "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\strand_ckpt.pt" ( - echo [2/%MISSING_FILES%] 正在下载 Neural Haircut Strand Prior模型... - mkdir "%PROJECT_DIR%\resource\NeuralHaircut\pretrained_models\strand_prior" >nul 2>&1 - cd "%PROJECT_DIR%\resource\NeuralHaircut" - python -m gdown --folder "https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8" - cd "%PROJECT_DIR%" - if not exist "%NEURAL_HAIRCUT_FOLDER_PATH%\pretrained_models\strand_prior\strand_ckpt.pt" ( - echo 错误:Neural Haircut Strand Prior模型下载失败 - exit /b 1 - ) -) - -REM 下载 PIXIE 模型 -if not exist "%PIXIE_PATH%" ( - echo [3/%MISSING_FILES%] 正在下载 PIXIE模型... - mkdir "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE" >nul 2>&1 - cd "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE" - python -m gdown "1mPcGu62YPc4MdkT8FFiOCP629xsENHZf" && tar -xvzf pixie_data.tar.gz && rm pixie_data.tar.gz - cd "%PROJECT_DIR%" - if not exist "%PIXIE_PATH%" ( - echo 错误:PIXIE模型下载失败 - exit /b 1 - ) -) - -REM 下载 hyperIQA 模型 -if not exist "%HYPERIQA_PATH%" ( - echo [4/%MISSING_FILES%] 正在下载 hyperIQA模型... - mkdir "%PROJECT_DIR%\resource\hyperIQA\pretrained" >nul 2>&1 - cd "%PROJECT_DIR%\resource\hyperIQA\pretrained" - python -m gdown "1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE" - cd "%PROJECT_DIR%" - if not exist "%HYPERIQA_PATH%" ( - echo 错误:hyperIQA模型下载失败 - exit /b 1 - ) -) - -REM 下载 SAM 模型 -if not exist "%SAM_PATH%" ( - echo [5/%MISSING_FILES%] 正在下载 SAM模型... - mkdir "%PROJECT_DIR%\resource\Matte-Anything\pretrained" >nul 2>&1 - cd "%PROJECT_DIR%\resource\Matte-Anything\pretrained" - wget "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth" - cd "%PROJECT_DIR%" - if not exist "%SAM_PATH%" ( - echo 错误:SAM模型下载失败 - exit /b 1 - ) -) - -REM 下载 GroundingDINO 模型 -if not exist "%DINO_PATH%" ( - echo [6/%MISSING_FILES%] 正在下载 GroundingDINO模型... - cd "%PROJECT_DIR%\resource\Matte-Anything\pretrained" - wget "https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth" - cd "%PROJECT_DIR%" - if not exist "%DINO_PATH%" ( - echo 错误:GroundingDINO模型下载失败 - exit /b 1 - ) -) - -REM 下载 Matte-Anything 模型 -if not exist "%MATTE_PATH%" ( - echo [7/%MISSING_FILES%] 正在下载 Matte-Anything模型... - cd "%PROJECT_DIR%\resource\Matte-Anything\pretrained" - python -m gdown "1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW" - cd "%PROJECT_DIR%" - if not exist "%MATTE_PATH%" ( - echo 错误:Matte-Anything模型下载失败 - exit /b 1 - ) -) - -REM 下载 OpenPose 模型 -if not exist "%OPENPOSE_PATH%" ( - echo [8/%MISSING_FILES%] 正在下载 OpenPose模型... - mkdir "%PROJECT_DIR%\resource\openpose\models\pose\coco" >nul 2>&1 - cd "%PROJECT_DIR%\resource\openpose\models\pose\coco" - python -m gdown "1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV" && tar -xvzf models.tar.gz && rm models.tar.gz - cd "%PROJECT_DIR%" - if not exist "%OPENPOSE_PATH%" ( - echo 错误:OpenPose模型下载失败 - exit /b 1 - ) -) - -REM 所有模型下载并验证完成 -echo. -echo 所有模型文件已下载并验证成功! -pause - -:RemoveTrailingComma -REM 此子程序移除传入字符串末尾多余的", "(逗号和空格) -set "str=%~1" -:RemoveTrailingLoop -if "%str:~-2%"==", " ( - set "str=%str:~0,-2%" - goto RemoveTrailingLoop -) -set "result=%str%" -goto :eof - - - - - - - - - - - - - - - - - - - +@echo off +set PROJECT_DIR=%~dp0 +cd %PROJECT_DIR% +mkdir %PROJECT_DIR%\resource\NeuralHaircut\ +cd %PROJECT_DIR%\resource\NeuralHaircut\ +python -m gdown --folder https://drive.google.com/drive/folders/1TCdJ0CKR3Q6LviovndOkJaKm8S1T9F_8 +cd %PROJECT_DIR%\resource\NeuralHaircut\pretrained_models\diffusion_prior +python -m gdown 1_9EOUXHayKiGH5nkrayncln3d6m1uV7f +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 +mkdir %PROJECT_DIR%\resource\hyperIQA\pretrained +cd %PROJECT_DIR%\resource\hyperIQA\pretrained +python -m gdown 1OOUmnbvpGea0LIGpIWEbOyxfWx6UCiiE +cd %PROJECT_DIR% +mkdir %PROJECT_DIR%\resource\Matte-Anything\pretrained +cd %PROJECT_DIR%\resource\Matte-Anything\pretrained +wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth +wget https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth +python -m gdown 1d97oKuITCeWgai2Tf3iNilt6rMSSYzkW +mkdir %PROJECT_DIR%\resource\openpose\ +cd %PROJECT_DIR%\resource\openpose\ +python -m gdown 1Yn03cKKfVOq4qXmgBMQD20UMRRRkd_tV && tar -xvzf models.tar.gz && rm models.tar.gz