未验证 提交 db713042 编写于 作者: K Kaipeng Deng 提交者: GitHub

update README and fix random nan in rcnn startup (#4118)

上级 8cad30f0
...@@ -51,14 +51,7 @@ cd PaddleCV/Paddle3D/PointRCNN ...@@ -51,14 +51,7 @@ cd PaddleCV/Paddle3D/PointRCNN
git clone https://github.com/pybind/pybind11 git clone https://github.com/pybind/pybind11
``` ```
3. 编译安装`pts_utils`, `kitti_utils`, `roipool3d_utils`, `iou_utils` 等模块 3. 安装python依赖库
使用如下命令编译安装`pts_utils`, `kitti_utils`, `roipool3d_utils`, `iou_utils` 等模块:
```
sh build_and_install.sh
```
4. 安装python依赖库
使用如下命令安装python依赖库: 使用如下命令安装python依赖库:
...@@ -69,6 +62,13 @@ pip install -r requirement.txt ...@@ -69,6 +62,13 @@ pip install -r requirement.txt
**注意:** KITTI mAP评估工具只能在python 3.6及以上版本中使用,且python3环境中需要安装`scikit-image`,`Numba`,`fire`等子库。 **注意:** KITTI mAP评估工具只能在python 3.6及以上版本中使用,且python3环境中需要安装`scikit-image`,`Numba`,`fire`等子库。
`requirement.txt`中的`scikit-image`,`Numba`,`fire`即为KITTI mAP评估工具所需依赖库。 `requirement.txt`中的`scikit-image`,`Numba`,`fire`即为KITTI mAP评估工具所需依赖库。
4. 编译安装`pts_utils`, `kitti_utils`, `roipool3d_utils`, `iou_utils` 等模块
使用如下命令编译安装`pts_utils`, `kitti_utils`, `roipool3d_utils`, `iou_utils` 等模块:
```
sh build_and_install.sh
```
### 编译自定义OP ### 编译自定义OP
请确认Paddle版本为PaddelPaddle Fluid develop每日版本或基于Paddle develop分支源码编译安装,**推荐使用源码编译安装的方式** 请确认Paddle版本为PaddelPaddle Fluid develop每日版本或基于Paddle develop分支源码编译安装,**推荐使用源码编译安装的方式**
...@@ -314,7 +314,7 @@ result_dir ...@@ -314,7 +314,7 @@ result_dir
由于KITTI mAP仅支持python 3.6及以上版本,须使用对应python版本通过如下命令进行评估: 由于KITTI mAP仅支持python 3.6及以上版本,须使用对应python版本通过如下命令进行评估:
``` ```
python3 kitti_map.py python3 tools/kitti_eval.py
``` ```
使用训练最终权重[RPN模型](https://paddlemodels.bj.bcebos.com/Paddle3D/pointrcnn_rpn.tar)[RCNN模型](https://paddlemodels.bj.bcebos.com/Paddle3D/pointrcnn_rcnn_offline.tar)评估结果如下所示: 使用训练最终权重[RPN模型](https://paddlemodels.bj.bcebos.com/Paddle3D/pointrcnn_rpn.tar)[RCNN模型](https://paddlemodels.bj.bcebos.com/Paddle3D/pointrcnn_rcnn_offline.tar)评估结果如下所示:
......
...@@ -23,7 +23,7 @@ import numpy as np ...@@ -23,7 +23,7 @@ import numpy as np
import paddle.fluid as fluid import paddle.fluid as fluid
from paddle.fluid.param_attr import ParamAttr from paddle.fluid.param_attr import ParamAttr
from paddle.fluid.initializer import Constant from paddle.fluid.initializer import Constant, Normal
from ext_op import * from ext_op import *
__all__ = ["conv_bn", "pointnet_sa_module", "pointnet_fp_module", "MLP"] __all__ = ["conv_bn", "pointnet_sa_module", "pointnet_fp_module", "MLP"]
...@@ -76,7 +76,13 @@ def group_all(xyz, features=None, use_xyz=True): ...@@ -76,7 +76,13 @@ def group_all(xyz, features=None, use_xyz=True):
def conv_bn(input, out_channels, bn=True, bn_momentum=0.95, act='relu', name=None): def conv_bn(input, out_channels, bn=True, bn_momentum=0.95, act='relu', name=None):
param_attr = ParamAttr(name='{}_conv_weight'.format(name),) def _get_kaiming_init():
fan_in = input.shape[1]
std = (1.0 / fan_in / 3.0) ** 0.5
return Normal(0., std, 0.)
param_attr = ParamAttr(name='{}_conv_weight'.format(name),
initializer=_get_kaiming_init())
bias_attr = ParamAttr(name='{}_conv_bias'.format(name)) \ bias_attr = ParamAttr(name='{}_conv_bias'.format(name)) \
if not bn else False if not bn else False
out = fluid.layers.conv2d(input, out = fluid.layers.conv2d(input,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册