README.md 811 字节
Newer Older
C
cnn 已提交
1
# 自定义OP编译
2
旋转框IOU计算OP是参考[自定义外部算子](https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/custom_op/new_cpp_op_cn.html)
C
cnn 已提交
3 4 5 6 7 8 9

## 1. 环境依赖
- Paddle >= 2.0.1
- gcc 8.2

## 2. 安装
```
10
python setup.py install
C
cnn 已提交
11 12
```

13
编译完成后即可使用,以下为`rbox_iou`的使用示例
C
cnn 已提交
14 15
```
# 引入自定义op
16
from ext_op import rbox_iou
C
cnn 已提交
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

paddle.set_device('gpu:0')
paddle.disable_static()

rbox1 = np.random.rand(13000, 5)
rbox2 = np.random.rand(7, 5)

pd_rbox1 = paddle.to_tensor(rbox1)
pd_rbox2 = paddle.to_tensor(rbox2)

iou = rbox_iou(pd_rbox1, pd_rbox2)
print('iou', iou)
```

## 3. 单元测试
32
可以通过执行单元测试来确认自定义算子功能的正确性,执行单元测试的示例如下所示:
C
cnn 已提交
33
```
34
python unittest/test_matched_rbox_iou.py
C
cnn 已提交
35
```