Magic-TryOn 在 Windows + Python 3.12 下的完整部署实录
《Magic-TryOn在Windows+Python3.12环境下的完整部署指南》 本文详细记录了在Windows 11系统(22H2版本)上部署Magic-TryOn项目的完整过程。环境配置包括Python 3.12.0、CUDA 12.1和PyTorch 2.2.0。部署步骤涵盖:1)创建虚拟环境;2)安装PyTorch与CUDA运行时;3)处理requirements.txt的Window
Magic-TryOn 在 Windows + Python 3.12 下的完整部署实录
日期:2025-11-28
环境:Windows 11 22H2 / Python 3.12.0 / CUDA 12.1 / PyTorch 2.2.0


一、前置条件
组件 版本 备注
OS Windows 11 22H2 家庭版/专业版均可
Python 3.12.0 官方 embed 或 Miniconda,务必使用 venv
CUDA Toolkit 12.1+ 与 PyTorch cu121 对应
VS Build Tools 2022 工作负载:使用 C++ 的桌面开发
显卡驱动 ≥536.xx 支持 CUDA 12.1
二、创建虚拟环境(CMD 一行)
python -m venv .venv
.venv\Scripts\activate
三、安装 PyTorch + CUDA 运行时
pip install torch==2.2.0+cu121 torchvision==0.17.0+cu121 torchaudio==2.2.0+cu121 --index-url https://download.pytorch.org/whl/cu121

验证:
python -c "import torch, detectron2._C; print('PyTorch:', torch.__version__, 'CUDA:', torch.cuda.is_available())"
或更严谨的验证命令:
# 进入python控制台后执行
import torch # 导入 PyTorch 库
print("PyTorch 版本:", torch.__version__) # 打印 PyTorch 的版本号
# 检查 CUDA 是否可用,并设置设备("cuda:0" 或 "cpu")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print("设备:", device) # 打印当前使用的设备
print("CUDA 可用:", torch.cuda.is_available()) # 打印 CUDA 是否可用
print("cuDNN 已启用:", torch.backends.cudnn.enabled) # 打印 cuDNN 是否已启用
# 打印 PyTorch 支持的 CUDA 和 cuDNN 版本
print("支持的 CUDA 版本:", torch.version.cuda)
print("cuDNN 版本:", torch.backends.cudnn.version())
# 创建两个随机张量(默认在 CPU 上)
x = torch.rand(5, 3)
y = torch.rand(5, 3)
# 将张量移动到指定设备(CPU 或 GPU)
x = x.to(device)
y = y.to(device)
# 对张量进行逐元素相加
z = x + y
# 打印结果
print("张量 z 的值:")
print(z) # 输出张量 z 的内容
输出示例:
PyTorch: 2.2.0+cu121
CUDA avail: True
或:
PyTorch 版本: 2.2.0+cu121
设备: cuda:0
CUDA 可用: True
cuDNN 已启用: True
支持的 CUDA 版本: 12.1
cuDNN 版本: 8801
张量 z 的值:
tensor([[1.3825, 0.5124, 0.9801],
[1.1469, 0.3382, 1.5669],
[0.5873, 1.6614, 0.5503],
[1.3494, 1.0184, 1.7245],
[0.3083, 0.7974, 1.0805]], device='cuda:0')

四、处理 requirements.txt 的 Windows 不兼容项
官方文件直接 pip install -r 会报
- detectron2 克隆安装失败
- flash-attn 无 wheel
- nvidia-nccl-cu12 不存在
修改策略:
- 注释掉
detectron2 @ git+...→ 后面源码编译 - 注释掉
flash-attn==x.x.x→ 后面手动装 wheel - 注释掉
nvidia-nccl-cu12==x.x.x→ Windows 无此包 - 注释掉 conda-xxx / libmambapy 等 Conda 专属包
- 其余严格
==且报 无此版本 的,改成>=或去掉版本号 - 遇到安装不了的需按输出日志逐一排查修改
节选修改后示例:
# 原行
# detectron2 @ git+https://github.com/facebookresearch/detectron2.git
# flash-attn==2.8.3
# nvidia-nccl-cu12==2.19.3
# 修改后
flash-attn # 后面手动装
# nvidia-nccl-cu12 直接删除
一键安装剩余依赖:
pip install -r requirements.txt --no-deps

五、手动安装两大“硬骨头”
- flash-attn 本地 wheel
环境 对应文件名
原理:邻近版本向下兼容,具体教程详见参考链接
CUDA 12.2 + PyTorch 2.2 + Python 3.12 flash_attn-2.5.9.post1+cu122torch2.2.2cxx11abiFALSE-cp312-cp312-win_amd64.whl
下载后本地安装:
pip install flash_attn-2.5.9.post1+cu122torch2.2.2cxx11abiFALSE-cp312-cp312-win_amd64.whl
- detectron2 源码编译
git clone https://github.com/facebookresearch/detectron2.git
cd detectron2
关键修改(关闭 CUDA 版本校验):
原理:关闭 CUDA 版本校验,具体教程详见参考链接
在 setup() 前插入:
import torch.utils.cpp_extension as _cpp_ext
_cpp_ext._check_cuda_version = lambda *a, **k: None
编译:
pip install -e . --no-build-isolation
六、下载 Magic-TryOn 14B 权重
作者命令(Linux):
HF_ENDPOINT=https://hf-mirror.com huggingface-cli download LuckyLiGY/MagicTryOn --local-dir ./weights/MagicTryOn_14B_V1
Windows CMD 写法:
set HF_ENDPOINT=https://hf-mirror.com
pip install hf-xet
hf download LuckyLiGY/MagicTryOn --local-dir ./weights/MagicTryOn_14B_V1


输出示例(末尾):
Fetching 16 files: 100%|████████████████| 16/16 [1:45:37<00:00, 396.11s/it]
G:\PythonProjects2\Magic-TryOn\weights\MagicTryOn_14B_V1

七、最终验证(CMD 一行)
python -c "import torch,detectron2._C,os; print('PyTorch:',torch.__version__, 'CUDA:',torch.cuda.is_available()); print('Detectron2 C++:', 'OK' if hasattr(detectron2,'_C') else 'FAIL'); os.system('pause')"
期望输出:
PyTorch: 2.2.0+cu121
CUDA: True
Detectron2 C++: OK
Press any key to continue . . .

八、跑通单张图试衣(可选)
python inference\image_tryon\predict_image_tryon_customize.py ^
--image_path assets\person.jpg ^
--clothe_path assets\cloth.jpg ^
--output_dir .\results ^
--resize 512
出现 Save result to ... 且 results\*.jpg 正常 → 部署成功!
九、参考链接(单独一行引用)
十、结语
至此,Magic-TryOn 在 Windows + Python 3.12 + CUDA 12.1 环境部署完成。
你可以继续:
- 用 Gradio 包一层 WebUI
- 批量视频推理
- 自己微调/训练
祝玩得开心,欢迎转发收藏!
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)