Windows命令行编译PyTorch时如何启用BUILD_CAFFE2=1?
Windows平台编译PyTorch启用BUILD_CAFFE2=1的具体方案
一、问题场景
在Windows上运行YOLOv7训练命令:
C:\Users\LENOVO>python train.py --weights yolov7.pt --data "data/custom.yaml" --workers 4 --batch-size 4 --img 416 --cfg cfg/training/yolov7.yaml --name yolov7 --hyp data/hyp.scratch.p5.yaml
触发Caffe2未启用的报错,即便按官方指引从源码安装PyTorch和Caffe2,问题仍未解决,核心需求是获取Windows命令行中启用BUILD_CAFFE2=1的具体编译命令。
二、报错信息(中文翻译)
C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\caffe2\__init__.py:5: 用户警告:此PyTorch构建中未完全启用Caffe2支持。请通过在从源码构建PyTorch时添加`BUILD_CAFFE2=1`标志来启用Caffe2。 warnings.warn("Caffe2 support is not fully enabled in this PyTorch build. " C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\caffe2\proto\__init__.py:17: 用户警告:此PyTorch构建中未启用Caffe2支持。请通过在从源码构建PyTorch时添加`BUILD_CAFFE2=1`标志来启用Caffe2。 warnings.warn('Caffe2 support is not enabled in this PyTorch build. ' C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\caffe2\python\__init__.py:9: 用户警告:此PyTorch构建中未启用Caffe2支持。请通过在从源码构建PyTorch时添加`BUILD_CAFFE2=1`标志来启用Caffe2。 warnings.warn('Caffe2 support is not enabled in this PyTorch build. ' 回溯(最近的调用最后): 文件 "C:\Users\LENOVO\train.py", line 8, in <module> from caffe2.python import core, scope 文件 "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\caffe2\python\__init__.py", line 7, in <module> from caffe2.proto import caffe2_pb2 文件 "C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\caffe2\proto\__init__.py", line 15, in <module> from caffe2.proto import caffe2_pb2, metanet_pb2, torch_pb2 导入错误:无法从部分初始化的模块'caffe2.proto'导入名称'metanet_pb2'(很可能是由于循环导入)(C:\Users\LENOVO\AppData\Local\Programs\Python\Python310\lib\site-packages\caffe2\proto\__init__.py)
三、Windows命令行启用BUILD_CAFFE2=1的编译步骤
前置准备
确保已安装CMake、Visual Studio(需带C++开发工具集)、Git,以及Python 3.8-3.10版本的环境。
具体命令
- 克隆并初始化PyTorch源码:
git clone --recursive https://github.com/pytorch/pytorch.git cd pytorch git submodule sync git submodule update --init --recursive --jobs 0
- 设置环境变量启用BUILD_CAFFE2:
set BUILD_CAFFE2=1
- 执行编译安装(以CUDA 11.7为例,无需CUDA则去掉
--cuda参数):
python setup.py install --cuda
或使用pip方式编译:
pip install -e . --global-option="--cuda"
验证方法
编译完成后重启命令行,运行以下代码验证:
import torch from caffe2.python import core print(torch.__version__) print("Caffe2启用状态:", torch.backends.cudnn.enabled)
内容的提问来源于stack exchange,提问作者Fc0001
相关产品推荐
相关产品推荐

