Windows下GeneFace++安装指南
一 环境准备
- 操作系统:Windows 10/11 64位(兼容性更好)。
- Python:Python 3.8–3.11(建议用 Anaconda 管理环境,避免依赖冲突)。
- 构建工具:Visual Studio Build Tools 2019/2022(勾选“C++ 桌面开发”组件,用于编译 C/C++ 扩展)。
- GPU 支持(可选但推荐):NVIDIA 显卡驱动、CUDA Toolkit 与 cuDNN,版本需与所选 PyTorch 匹配。
- 基础工具:CMake ≥ 3.16、Git、Microsoft Visual C++ Redistributable。
- 硬件建议:CPU ≥ Intel Core i5、内存 ≥ 16GB、可用磁盘 ≥ 20GB(训练/推理更顺畅)。
二 安装步骤
- 创建并激活虚拟环境
python -m venv geneface_env
geneface_envScriptsactivate
conda create -n geneface_env python=3.9
conda activate geneface_env
- 安装基础 Python 依赖
- 有 requirements.txt:pip install -r requirements.txt
- 无则先装核心:pip install numpy opencv-python torch torchvision
- 获取源码
- 编译 C/C++ 扩展(若项目包含)
- mkdir build && cd build
- cmake .. -G "Visual Studio 17 2022" -A x64(根据你的 VS 版本调整)
- cmake --build . --config Release
- 安装 Python 包(若提供)
- pip install . 或 python setup.py install
- 配置环境变量(可选)
- 将可执行/库目录(如 build/bin 或项目根目录)加入系统 PATH,便于全局调用
- 快速自检
- python -c "import torch; print('CUDA available:', torch.cuda.is_available())"
- 运行项目示例:python main.py 或项目 README 指定脚本。
三 GPU与依赖匹配要点
- 先确定 CUDA 版本(如 11.8 或 12.1),再安装与之匹配的 PyTorch(建议优先使用官方预编译的 CUDA 版本,避免本机 CUDA 与 PyTorch 混用引发冲突)。
- 示例(CUDA 11.8):pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
- 若使用 CPU 版 PyTorch,可安装 CPU 专用包,但训练/推理速度会显著下降。
- 验证命令:
- nvidia-smi(查看驱动与 CUDA 运行时)
- python -c "import torch; print(torch.__version__, torch.version.cuda)"(查看 PyTorch 与 CUDA 版本)。
四 常见问题与排查
- 编译失败(cl.exe 未找到/缺少头文件):确认已安装 Visual Studio Build Tools 的 C++ 组件,并在 x64 Native Tools Command Prompt 中执行 CMake/构建。
- 找不到 Python.h 或模块编译失败:安装 Python 开发头文件(通常随官方安装包自带;如使用 conda,可尝试 conda install python-dev)。
- DLL 加载失败:安装 Microsoft Visual C++ Redistributable,或检查 PATH 是否包含必要运行时/库路径。
- torch.cuda.is_available() 为 False:核对 PyTorch 与 CUDA 版本匹配、显卡驱动是否最新、是否在虚拟环境中正确安装了 GPU 版 PyTorch。
- 依赖冲突:优先使用虚拟环境;必要时用 pip check 或 conda list 排查版本冲突。
五 最小可行验证示例
python - <<'PY'
import torch, sys
print("Python:", sys.version)
print("Torch:", torch.__version__, "CUDA:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())
PY
- 若输出显示 CUDA 可用且版本匹配,再按项目 README 运行 demo/main 脚本进行端到端验证。