目录
第一步:
3. 清理旧构建产物 可选
第2步. VS2022 x64 终端完整执行
第3步 覆盖文件:
2、覆盖替换
测试是否成功;
推理修改:
prroi_pooling_gpu.c 换成prroi_pooling_gpu.cpp
修改模型路径:
三个步骤,一步都不少
第一步:
pytracking-master\ltr\external\PreciseRoIPooling
setup.py
from setuptools import setup from torch.utils.cpp_extension import CUDAExtension, BuildExtension setup( name="prroi_pooling", ext_modules=[ CUDAExtension( "prroi_pooling", sources=[ "pytorch/prroi_pool/src/prroi_pooling_gpu.cpp", # 改后缀cpp "pytorch/prroi_pool/src/prroi_pooling_gpu_impl.cu", ], include_dirs=[ "pytorch/prroi_pool/src" ], ) ], cmdclass={ "build_ext": BuildExtension } )prroi_pooling_gpu.c改名为:prroi_pooling_gpu.cpp
3. 清理旧构建产物 可选
删除:
- PreciseRoIPooling 目录下
build文件夹 C:\Users\Administrator\AppData\Local\torch_extensions整个文件夹
第2步. VS2022 x64 终端完整执行
conda activate pysd set DISTUTILS_USE_SDK=1 set MSSdk=1 cd F:\project\tracker_pix\pytracking-master\ltr\external\PreciseRoIPooling python setup.py build_ext --inplace第3步 覆盖文件:
从这个仓库根目录的
src/拿到真正的两个大文件:
src/prroi_pooling_gpu_impl.cusrc/prroi_pooling_gpu_impl.cuh2、覆盖替换
复制这两个真实文件,覆盖到你的项目路径:
F:\project\tracker_pix\pytracking-master\ltr\external\PreciseRoIPooling\pytorch\prroi_pool\src\
测试是否成功;
python -c "import os; os.add_dll_directory(r'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin'); os.add_dll_directory(r'D:\soft\python\dam4\Lib\site-packages\torch\lib'); import prroi_pooling; print('✅ 导入成功!')" ✅ 导入成功!推理修改:
prroi_pooling_gpu.c 换成prroi_pooling_gpu.cpp
_prroi_pooling = load_extension( '_prroi_pooling', [pjoin(root_dir, 'prroi_pooling_gpu.cpp'), pjoin(root_dir, 'prroi_pooling_gpu_impl.cu')], verbose=True )修改模型路径:
E:\project\track\pytracking-master\ltr\admin\loading.py
checkpoint_path