This commit is contained in:
Jeffreytsai1004 2025-02-18 00:46:10 +08:00
parent afa8b6b929
commit 6ebe457f94
5 changed files with 94 additions and 282 deletions

View File

@ -1,4 +1,4 @@
@echo off @echo off
REM 设置环境变量 REM 设置环境变量
SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8" SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
@ -14,5 +14,5 @@ SET GDOWN_CACHE=cache\gdown
SET TORCH_HOME=cache\torch SET TORCH_HOME=cache\torch
SET HF_HOME=cache\huggingface SET HF_HOME=cache\huggingface
CALL "%MICROMAMBA_EXE%" activate -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair
IF EXIST %VS_VCVARS% CALL %VS_VCVARS% IF EXIST %VS_VCVARS% CALL %VS_VCVARS%

View File

@ -1,4 +1,4 @@
@echo off @echo off
REM 设置环境变量 REM 设置环境变量
SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8" SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
@ -14,5 +14,5 @@ SET GDOWN_CACHE=cache\gdown
SET TORCH_HOME=cache\torch SET TORCH_HOME=cache\torch
SET HF_HOME=cache\huggingface SET HF_HOME=cache\huggingface
CALL "%MICROMAMBA_EXE%" activate -p %MAMBA_ROOT_PREFIX%\envs\matte_anything CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\matte_anything
IF EXIST %VS_VCVARS% CALL %VS_VCVARS% IF EXIST %VS_VCVARS% CALL %VS_VCVARS%

View File

@ -1,4 +1,4 @@
@echo off @echo off
REM 设置环境变量 REM 设置环境变量
SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8" SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
@ -14,5 +14,5 @@ SET GDOWN_CACHE=cache\gdown
SET TORCH_HOME=cache\torch SET TORCH_HOME=cache\torch
SET HF_HOME=cache\huggingface SET HF_HOME=cache\huggingface
CALL "%MICROMAMBA_EXE%" activate -p %MAMBA_ROOT_PREFIX%\envs\openpose CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\openpose
IF EXIST %VS_VCVARS% CALL %VS_VCVARS% IF EXIST %VS_VCVARS% CALL %VS_VCVARS%

View File

@ -1,4 +1,4 @@
@echo off @echo off
REM 设置环境变量 REM 设置环境变量
SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8" SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
@ -14,5 +14,5 @@ SET GDOWN_CACHE=cache\gdown
SET TORCH_HOME=cache\torch SET TORCH_HOME=cache\torch
SET HF_HOME=cache\huggingface SET HF_HOME=cache\huggingface
CALL "%MICROMAMBA_EXE%" activate -p %MAMBA_ROOT_PREFIX%\envs\pixie-env CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\pixie-env
IF EXIST %VS_VCVARS% CALL %VS_VCVARS% IF EXIST %VS_VCVARS% CALL %VS_VCVARS%

View File

@ -1,5 +1,4 @@
@echo off @echo off
setlocal enabledelayedexpansion
REM 设置环境变量 REM 设置环境变量
SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8" SET CUDA_HOME="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8"
@ -15,291 +14,104 @@ SET GDOWN_CACHE=cache\gdown
SET TORCH_HOME=cache\torch SET TORCH_HOME=cache\torch
SET HF_HOME=cache\huggingface SET HF_HOME=cache\huggingface
REM 检查micromamba REM 拉取所有外部库
IF NOT EXIST "%MICROMAMBA_EXE%" ( mkdir ext
echo ERROR: micromamba not found at %MICROMAMBA_EXE% cd %PROJECT_DIR%\ext && git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose --depth 1
echo Please install micromamba from https://mamba.readthedocs.io/en/latest/installation.html cd %PROJECT_DIR%\ext\openpose && git submodule update --init --recursive --remote
exit /b 1 cd %PROJECT_DIR%\ext && git clone https://github.com/hustvl/Matte-Anything
) cd %PROJECT_DIR%\ext\Matte-Anything && git clone https://github.com/IDEA-Research/GroundingDINO.git
cd %PROJECT_DIR%\ext && git clone git@github.com:egorzakharov/NeuralHaircut.git --recursive
cd %PROJECT_DIR%\ext && git clone https://github.com/facebookresearch/pytorch3d
cd %PROJECT_DIR%\ext\pytorch3d && git checkout 2f11ddc5ee7d6bd56f2fb6744a16776fab6536f7
cd %PROJECT_DIR%\ext && git clone https://github.com/camenduru/simple-knn
cd %PROJECT_DIR%\ext\diff_gaussian_rasterization_hair\third_party && git clone https://github.com/g-truc/glm
cd %PROJECT_DIR%\ext\diff_gaussian_rasterization_hair\third_party\glm && git checkout 5c46b9c07008ae65cb81ab79cd677ecc1934b903
cd %PROJECT_DIR%\ext && git clone --recursive https://github.com/NVIDIAGameWorks/kaolin
cd %PROJECT_DIR%\ext\kaolin && git checkout v0.15.0
cd %PROJECT_DIR%\ext && git clone https://github.com/SSL92/hyperIQA
REM 设置micromamba根目录 REM 安装环境
IF NOT EXIST "%MAMBA_ROOT_PREFIX%" mkdir "%MAMBA_ROOT_PREFIX%" cd %PROJECT_DIR% && %MICROMAMBA_EXE% create -n gaussian_splatting_hair -f environment.yml
CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair
REM 初始化micromamba REM 从resource文件夹拷贝Neural Haircut文件
CALL "%MICROMAMBA_EXE%" shell init --prefix "%MAMBA_ROOT_PREFIX%" xcopy /E /I /Y %PROJECT_DIR%\resource\NeuralHaircut %PROJECT_DIR%\ext\NeuralHaircut
xcopy /E /I /Y %PROJECT_DIR%\resource\hyperIQA\pretrained %PROJECT_DIR%\ext\hyperIQA\pretrained
REM 检查必要的环境和依赖
IF NOT EXIST "%CUDA_HOME%\" (
echo ERROR: CUDA 11.8 not found at %CUDA_HOME%
echo Please install CUDA 11.8 from https://developer.nvidia.com/cuda-11-8-0-download-archive
exit /b 1
)
IF NOT EXIST "%BLENDER_DIR%\" (
echo ERROR: Blender 3.6 not found at %BLENDER_DIR%
echo Please install Blender 3.6 from https://www.blender.org/download/lts/3-6/
exit /b 1
)
REM 检查Visual Studio
IF NOT EXIST "%VS_VCVARS%" (
echo ERROR: Visual Studio 2019 not found
echo Please install Visual Studio 2019 Build Tools with C++ development tools
exit /b 1
)
REM 检查COLMAP
where colmap >nul 2>nul
IF %ERRORLEVEL% NEQ 0 (
echo ERROR: COLMAP not found in PATH
echo.
echo Please follow these steps to install COLMAP:
echo 1. Download COLMAP from https://github.com/colmap/colmap/releases
echo 2. Extract to a path without spaces (e.g., C:\COLMAP)
echo 3. Add the COLMAP directory to your system PATH:
echo a. Open "System Properties" ^> "Environment Variables"
echo b. Under "System Variables", find and select "Path"
echo c. Click "Edit" ^> "New"
echo d. Add your COLMAP directory path (e.g., C:\COLMAP)
echo e. Click "OK" to save
echo 4. Open a new terminal window and try again
echo.
echo Note: If you've just added COLMAP to PATH, you need to open
echo a new terminal window for the changes to take effect.
exit /b 1
)
REM 检查COLMAP是否可用
colmap -h >nul 2>nul
IF %ERRORLEVEL% NEQ 0 (
echo ERROR: COLMAP installation appears to be broken
echo Please try reinstalling COLMAP
exit /b 1
)
REM 检查CUDA版本
nvcc --version 2>nul | findstr "release 11.8" >nul
IF %ERRORLEVEL% NEQ 0 (
echo ERROR: CUDA 11.8 not found or version mismatch
exit /b 1
)
REM 检查路径中是否包含空格
echo %PROJECT_DIR% | findstr /C:" " >nul
IF %ERRORLEVEL% EQU 0 (
echo ERROR: Project path contains spaces: %PROJECT_DIR%
echo Please move the project to a path without spaces
exit /b 1
)
REM 检查必要的环境变量
IF NOT DEFINED PROJECT_DIR (
echo 错误未设置PROJECT_DIR环境变量
exit /b 1
)
IF NOT DEFINED VS_VCVARS (
echo 错误未设置VS_VCVARS环境变量
echo 请设置VS_VCVARS指向Visual Studio 2019的vcvars64.bat
exit /b 1
)
REM 创建缓存目录
mkdir cache\gdown 2>nul
mkdir cache\torch 2>nul
mkdir cache\huggingface 2>nul
REM 创建ext目录并克隆仓库
mkdir ext 2>nul
cd ext
REM 克隆必要的仓库
git clone https://github.com/CMU-Perceptual-Computing-Lab/openpose --depth 1
cd openpose && git submodule update --init --recursive --remote
cd ..
git clone https://github.com/hustvl/Matte-Anything
cd Matte-Anything && git clone https://github.com/IDEA-Research/GroundingDINO.git
cd ..
git clone git@github.com:egorzakharov/NeuralHaircut.git --recursive
git clone https://github.com/facebookresearch/pytorch3d
cd pytorch3d && git checkout 2f11ddc5ee7d6bd56f2fb6744a16776fab6536f7
cd ..
git clone https://github.com/camenduru/simple-knn
cd diff_gaussian_rasterization_hair/third_party && git clone https://github.com/g-truc/glm
cd glm && git checkout 5c46b9c07008ae65cb81ab79cd677ecc1934b903
cd ../..
git clone --recursive https://github.com/NVIDIAGameWorks/kaolin
cd kaolin && git checkout v0.15.0
cd ..
git clone https://github.com/SSL92/hyperIQA
cd ..
REM 创建环境
CALL "%MICROMAMBA_EXE%" env create -f environment.yml
REM 安装 gaussian_splatting_hair 环境
CALL "%MICROMAMBA_EXE%" activate -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair
REM 安装外部库
cd %PROJECT_DIR%\ext\pytorch3d
pip install -e .
cd %PROJECT_DIR%\ext\NeuralHaircut\npbgpp
pip install -e .
cd %PROJECT_DIR%\ext\simple-knn
pip install -e .
cd %PROJECT_DIR%\ext\diff_gaussian_rasterization_hair
pip install -e .
cd %PROJECT_DIR%\ext\kaolin
pip install -e .
cd %PROJECT_DIR% cd %PROJECT_DIR%
REM 退出gaussian_splatting_hair环境
CALL %MICROMAMBA_EXE% deactivate
REM 检查resource目录 REM Matte-Anything
IF NOT EXIST "%PROJECT_DIR%\resource" ( %MICROMAMBA_EXE% create -y -n matte_anything pytorch=2.0.0 pytorch-cuda=11.8 torchvision tensorboard timm=0.5.4 opencv=4.5.3 mkl=2024.0 setuptools=58.2.0 easydict wget scikit-image gradio=3.46.1 fairscale -c pytorch -c nvidia -c conda-forge
echo 错误未找到resource目录 CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\matte_anything
echo 请确保resource目录存在且包含以下必需文件 REM 安装pip
echo. python -m pip install --upgrade pip
echo resource/ REM 安装segment-anything
echo ├── NeuralHaircut/
echo │ ├── pretrained_models/
echo │ │ ├── diffusion_prior/
echo │ │ │ └── dif_ckpt.pt # 扩散先验模型
echo │ │ └── strand_prior/
echo │ │ └── strand_ckpt.pt # 股线先验模型
echo │ └── PIXIE/
echo │ └── pixie_data/ # PIXIE 模型数据存档
echo ├── Matte-Anything/
echo │ └── pretrained/
echo │ └── ViTMatte_B_DIS.pth # Matte-Anything 模型
echo ├── openpose/
echo │ └── models/
echo │ └── models/ # OpenPose 模型
echo └── hyperIQA/
echo └── pretrained/
echo └── koniq_pretrained.pkl # 图像质量评估模型
exit /b 1
)
REM 复制模型文件到对应位置
echo 正在复制模型文件...
REM 创建必要的目录
mkdir "%PROJECT_DIR%\ext\NeuralHaircut\pretrained_models\diffusion_prior" 2>nul
mkdir "%PROJECT_DIR%\ext\NeuralHaircut\pretrained_models\strand_prior" 2>nul
mkdir "%PROJECT_DIR%\ext\NeuralHaircut\PIXIE" 2>nul
mkdir "%PROJECT_DIR%\ext\Matte-Anything\pretrained" 2>nul
mkdir "%PROJECT_DIR%\ext\openpose\models" 2>nul
mkdir "%PROJECT_DIR%\ext\hyperIQA\pretrained" 2>nul
REM 复制 NeuralHaircut 相关文件
xcopy /Y "%PROJECT_DIR%\resource\NeuralHaircut\pretrained_models\diffusion_prior\dif_ckpt.pt" ^
"%PROJECT_DIR%\ext\NeuralHaircut\pretrained_models\diffusion_prior\"
xcopy /Y "%PROJECT_DIR%\resource\NeuralHaircut\pretrained_models\strand_prior\strand_ckpt.pt" ^
"%PROJECT_DIR%\ext\NeuralHaircut\pretrained_models\strand_prior\"
xcopy /Y "%PROJECT_DIR%\resource\NeuralHaircut\PIXIE\pixie_data.tar.gz" ^
"%PROJECT_DIR%\ext\NeuralHaircut\PIXIE\"
REM 复制 Matte-Anything 相关文件
xcopy /Y "%PROJECT_DIR%\resource\Matte-Anything\pretrained\ViTMatte_B_DIS.pth" ^
"%PROJECT_DIR%\ext\Matte-Anything\pretrained\"
REM 复制 OpenPose 相关文件
xcopy /Y "%PROJECT_DIR%\resource\openpose\models\models.tar.gz" ^
"%PROJECT_DIR%\ext\openpose\models\"
REM 复制 hyperIQA 相关文件
xcopy /Y "%PROJECT_DIR%\resource\hyperIQA\pretrained\koniq_pretrained.pkl" ^
"%PROJECT_DIR%\ext\hyperIQA\pretrained\"
REM 解压缩文件
cd "%PROJECT_DIR%\ext\NeuralHaircut\PIXIE"
if exist "pixie_data.tar.gz" (
tar -xvzf pixie_data.tar.gz
del pixie_data.tar.gz
)
cd "%PROJECT_DIR%\ext\openpose\models"
if exist "models.tar.gz" (
tar -xvzf models.tar.gz
del models.tar.gz
)
cd "%PROJECT_DIR%"
REM 安装 PIXIE 环境
CALL activate_pixie-env.bat
cd %PROJECT_DIR%\ext\NeuralHaircut\PIXIE
echo 正在安装PIXIE依赖...
pip install pyyaml==5.4.1
pip install git+https://github.com/1adrianb/face-alignment.git@54623537fd9618ca7c15688fd85aba706ad92b59
REM 安装 Matte-Anything 环境
CALL activate_matte_anything.bat
cd %PROJECT_DIR%\ext\Matte-Anything
REM 安装SAM和detectron2
pip install git+https://github.com/facebookresearch/segment-anything.git pip install git+https://github.com/facebookresearch/segment-anything.git
pip install 'git+https://github.com/facebookresearch/detectron2.git' REM 安装detectron2
cd GroundingDINO python -m pip install 'git+https://github.com/facebookresearch/detectron2.git'
REM 安装GroundingDINO
cd %PROJECT_DIR%\ext\Matte-Anything\GroundingDINO
pip install -e . pip install -e .
cd .. REM 安装supervision 修复GroundingDINO错误
pip install supervision==0.22.0 pip install supervision==0.22.0
REM 创建pretrained文件夹
cd %PROJECT_DIR%\ext\Matte-Anything && mkdir pretrained
cd %PROJECT_DIR%\ext\Matte-Anything\pretrained
xcopy /E /I /Y %PROJECT_DIR%\resource\Matte-Anything\pretrained\sam_vit_h_4b8939.pth %PROJECT_DIR%\ext\Matte-Anything\pretrained
xcopy /E /I /Y %PROJECT_DIR%\resource\Matte-Anything\pretrained\groundingdino_swint_ogc.pth %PROJECT_DIR%\ext\Matte-Anything\pretrained
REM 退出matte_anything环境
CALL %MICROMAMBA_EXE% deactivate
REM 进入gaussian_splatting_hair环境
CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\gaussian_splatting_hair
REM 下载Neural Haircut文件
xcopy /E /I /Y %PROJECT_DIR%\resource\Matte-Anything\pretrained\model_best.pth %PROJECT_DIR%\ext\Matte-Anything\pretrained
REM 退出gaussian_splatting_hair环境
CALL %MICROMAMBA_EXE% deactivate
REM OpenPose
REM 安装 OpenPose
CALL activate_openpose.bat
cd %PROJECT_DIR%\ext\openpose cd %PROJECT_DIR%\ext\openpose
mkdir build 2>nul xcopy /E /I /Y %PROJECT_DIR%\resource\openpose\models %PROJECT_DIR%\ext\openpose\models
REM 更新openpose子模块
git submodule update --init --recursive --remote
REM 创建openpose环境 避免cmake错误
%MICROMAMBA_EXE% create -y -p %MAMBA_ROOT_PREFIX%\envs\openpose cmake=3.20 -c conda-forge
REM 进入openpose环境
CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\openpose
REM 创建build文件夹
mkdir build
cd build cd build
CALL "%VS_VCVARS%" REM 调用Visual Studio环境
CALL %VS_VCVARS%
REM 使用Visual Studio 2019构建
cmake .. -DBUILD_PYTHON=true -DUSE_CUDNN=off -DBUILD_CAFFE=false -G "Visual Studio 16 2019" -A x64 cmake .. -DBUILD_PYTHON=true -DUSE_CUDNN=off -DBUILD_CAFFE=false -G "Visual Studio 16 2019" -A x64
cmake --build . --config Release cmake --build . --config Release
cd %PROJECT_DIR% REM 退出openpose环境
CALL %MICROMAMBA_EXE% deactivate
REM 检查资源文件是否已下载 REM PIXIE
IF NOT EXIST "resource" ( cd %PROJECT_DIR%\ext && git clone https://github.com/yfeng95/PIXIE
echo 错误未找到resource目录请先运行download_resource.bat cd %PROJECT_DIR%\ext\PIXIE
exit /b 1
)
REM 检查CUDA安装 REM 创建data目录
IF NOT EXIST "%CUDA_HOME%" ( mkdir data 2>nul
echo 错误未找到CUDA安装目录请确保CUDA 11.8已正确安装 cd data
exit /b 1 REM 从resource拷贝PIXIE模型文件
) xcopy /E /I /Y %PROJECT_DIR%\resource\PIXIE\data %PROJECT_DIR%\ext\PIXIE\data
cd ..
REM 检查Python版本 REM 创建pixie环境
python -c "import sys; assert sys.version_info >= (3,8) and sys.version_info < (3,9), 'Python 3.8.x required'" || ( %MICROMAMBA_EXE% create -y -p %MAMBA_ROOT_PREFIX%\envs\pixie-env python=3.8 pytorch==2.0.0 torchvision==0.15.0 torchaudio==2.0.0 ^
echo 错误需要Python 3.8.x版本 pytorch-cuda=11.8 fvcore pytorch3d==0.7.5 kornia matplotlib ^
exit /b 1 -c pytorch -c nvidia -c fvcore -c conda-forge -c pytorch3d
) REM 进入pixie环境
CALL %MICROMAMBA_EXE% activate -p %MAMBA_ROOT_PREFIX%\envs\pixie-env
REM 安装pip
python -m pip install --upgrade pip
REM 安装pyyaml
pip install pyyaml==5.4.1
REM 安装face-alignment
pip install "git+https://github.com/1adrianb/face-alignment.git@54623537fd9618ca7c15688fd85aba706ad92b59"
REM 退出pixie环境
CALL %MICROMAMBA_EXE% deactivate
REM 检查CUDA版本
nvcc --version | findstr "release 11.8" >nul || (
echo 错误需要CUDA 11.8版本
exit /b 1
)
REM 检查磁盘空间
for /f "tokens=3" %%a in ('dir /-c /w "%~d0\" ^| find "bytes free"') do set FREE_SPACE=%%a
if %FREE_SPACE% LSS 21474836480 (
echo 错误可用磁盘空间不足20GB
exit /b 1
)
REM 创建环境激活脚本
echo @echo off > activate_gaussian_splatting_hair.bat
echo CALL "%%MICROMAMBA_EXE%%" activate -p %%MAMBA_ROOT_PREFIX%%\envs\gaussian_splatting_hair >> activate_gaussian_splatting_hair.bat
echo @echo off > activate_matte_anything.bat
echo CALL "%%MICROMAMBA_EXE%%" activate -p %%MAMBA_ROOT_PREFIX%%\envs\matte_anything >> activate_matte_anything.bat
echo @echo off > activate_openpose.bat
echo CALL "%%MICROMAMBA_EXE%%" activate -p %%MAMBA_ROOT_PREFIX%%\envs\openpose >> activate_openpose.bat
echo @echo off > activate_pixie-env.bat
echo CALL "%%MICROMAMBA_EXE%%" activate -p %%MAMBA_ROOT_PREFIX%%\envs\pixie-env >> activate_pixie-env.bat
echo Installation completed!