pytorch编写cuda/c++ extention 方法

起因

我在尝试一篇目标识别的论文的开源代码时,发现由于其NMS、LSTM等模块是使用c++编译的(为了弥补python速度的短板),对Pytorch要求不能使用超过0.3的版本。和FASTER RCNN开源代码很像,不过Faster-rcnn官方更新了其包含的c++文件,从而可以在pytorch大于1的版本上使用。我不想退回pytorch 0.3版本,于是尝试重写c++/cuda 扩展的模块

prerequisite

CUDA10.0
pytorch1.4+cu100
torchvision0.5.0+cu100
setuptools 52.0.0

方法

由于原始代码采用较老的方式(THC模块)实现扩展,这里尝试pytorch官方 tutorial的方法实现

https://pytorch.org/tutorials/advanced/cpp_extension.html#writing-a-c-extension

然而,这教程有一个很致命的问题,按照它的方法用不了,被坑了。所以…先看看作为参考吧。

概述

以NMS模块为例,文件树如下:

|project name
|--

你可能感兴趣的:(深度学习&计算机视觉,pytorch,cuda,c++,深度学习)