Unverified Commit 30ad1aae authored by Tai-Wang's avatar Tai-Wang Committed by GitHub
Browse files

Refactor the structure of documentation (#1113)

* Merge English and Chinese doc into the same folder

* Add logo image back

* Add logo image back
parent 334d63ff
...@@ -129,7 +129,7 @@ Then you can evaluate your models on Waymo. An example to evaluate PointPillars ...@@ -129,7 +129,7 @@ Then you can evaluate your models on Waymo. An example to evaluate PointPillars
'submission_prefix=results/waymo-car/kitti_results' 'submission_prefix=results/waymo-car/kitti_results'
``` ```
`pklfile_prefix` should be given in the `--eval-options` if the bin file is needed to be generated. For metrics, `waymo` is the recommended official evaluation prototype. Currently, evaluating with choice `kitti` is adapted from KITTI and the results for each difficulty are not exactly the same as the definition of KITTI. Instead, most of objects are marked with difficulty 0 currently, which will be fixed in the future. The reasons of its instability include the large computation for evalution, the lack of occlusion and truncation in the converted data, different definitions of difficulty and different methods of computing Average Precision. `pklfile_prefix` should be given in the `--eval-options` if the bin file is needed to be generated. For metrics, `waymo` is the recommended official evaluation prototype. Currently, evaluating with choice `kitti` is adapted from KITTI and the results for each difficulty are not exactly the same as the definition of KITTI. Instead, most of objects are marked with difficulty 0 currently, which will be fixed in the future. The reasons of its instability include the large computation for evaluation, the lack of occlusion and truncation in the converted data, different definitions of difficulty and different methods of computing Average Precision.
**Notice**: **Notice**:
......
...@@ -64,7 +64,7 @@ PyTorch 1.3.1., you need to install the prebuilt PyTorch with CUDA 9.2. ...@@ -64,7 +64,7 @@ PyTorch 1.3.1., you need to install the prebuilt PyTorch with CUDA 9.2.
conda install pytorch=1.3.1 cudatoolkit=9.2 torchvision=0.4.2 -c pytorch conda install pytorch=1.3.1 cudatoolkit=9.2 torchvision=0.4.2 -c pytorch
``` ```
If you build PyTorch from source instead of installing the prebuilt pacakge, If you build PyTorch from source instead of installing the prebuilt package,
you can use more CUDA versions such as 9.0. you can use more CUDA versions such as 9.0.
**c. Install [MMCV](https://mmcv.readthedocs.io/en/latest/).** **c. Install [MMCV](https://mmcv.readthedocs.io/en/latest/).**
......
...@@ -214,13 +214,13 @@ train_pipeline = [ # Training pipeline, refer to mmdet3d.datasets.pipelines for ...@@ -214,13 +214,13 @@ train_pipeline = [ # Training pipeline, refer to mmdet3d.datasets.pipelines for
rot_range=[-0.027777777777777776, 0.027777777777777776], # Range of rotation rot_range=[-0.027777777777777776, 0.027777777777777776], # Range of rotation
scale_range=None), # Range of scale scale_range=None), # Range of scale
dict( dict(
type='DefaultFormatBundle3D', # Default format bundle to gather data in the pipeline, refer to mmdet3d.datasets.pipelines.formating for more details type='DefaultFormatBundle3D', # Default format bundle to gather data in the pipeline, refer to mmdet3d.datasets.pipelines.formatting for more details
class_names=('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', class_names=('cabinet', 'bed', 'chair', 'sofa', 'table', 'door',
'window', 'bookshelf', 'picture', 'counter', 'desk', 'window', 'bookshelf', 'picture', 'counter', 'desk',
'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'curtain', 'refrigerator', 'showercurtrain', 'toilet',
'sink', 'bathtub', 'garbagebin')), 'sink', 'bathtub', 'garbagebin')),
dict( dict(
type='Collect3D', # Pipeline that decides which keys in the data should be passed to the detector, refer to mmdet3d.datasets.pipelines.formating for more details type='Collect3D', # Pipeline that decides which keys in the data should be passed to the detector, refer to mmdet3d.datasets.pipelines.formatting for more details
keys=[ keys=[
'points', 'gt_bboxes_3d', 'gt_labels_3d', 'pts_semantic_mask', 'points', 'gt_bboxes_3d', 'gt_labels_3d', 'pts_semantic_mask',
'pts_instance_mask' 'pts_instance_mask'
...@@ -235,12 +235,12 @@ test_pipeline = [ # Testing pipeline, refer to mmdet3d.datasets.pipelines for m ...@@ -235,12 +235,12 @@ test_pipeline = [ # Testing pipeline, refer to mmdet3d.datasets.pipelines for m
dict(type='PointSample', # Sample points, refer to mmdet3d.datasets.pipelines.transforms_3d for more details dict(type='PointSample', # Sample points, refer to mmdet3d.datasets.pipelines.transforms_3d for more details
num_points=40000), # Number of points to be sampled num_points=40000), # Number of points to be sampled
dict( dict(
type='DefaultFormatBundle3D', # Default format bundle to gather data in the pipeline, refer to mmdet3d.datasets.pipelines.formating for more details type='DefaultFormatBundle3D', # Default format bundle to gather data in the pipeline, refer to mmdet3d.datasets.pipelines.formatting for more details
class_names=('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', class_names=('cabinet', 'bed', 'chair', 'sofa', 'table', 'door',
'window', 'bookshelf', 'picture', 'counter', 'desk', 'window', 'bookshelf', 'picture', 'counter', 'desk',
'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'curtain', 'refrigerator', 'showercurtrain', 'toilet',
'sink', 'bathtub', 'garbagebin')), 'sink', 'bathtub', 'garbagebin')),
dict(type='Collect3D', # Pipeline that decides which keys in the data should be passed to the detector, refer to mmdet3d.datasets.pipelines.formating for more details dict(type='Collect3D', # Pipeline that decides which keys in the data should be passed to the detector, refer to mmdet3d.datasets.pipelines.formatting for more details
keys=['points']) keys=['points'])
] ]
eval_pipeline = [ # Pipeline used for evaluation or visualization, refer to mmdet3d.datasets.pipelines for more details eval_pipeline = [ # Pipeline used for evaluation or visualization, refer to mmdet3d.datasets.pipelines for more details
...@@ -250,13 +250,13 @@ eval_pipeline = [ # Pipeline used for evaluation or visualization, refer to mmd ...@@ -250,13 +250,13 @@ eval_pipeline = [ # Pipeline used for evaluation or visualization, refer to mmd
load_dim=6, # The dimension of the loaded points load_dim=6, # The dimension of the loaded points
use_dim=[0, 1, 2]), # Which dimensions of the points to be used use_dim=[0, 1, 2]), # Which dimensions of the points to be used
dict( dict(
type='DefaultFormatBundle3D', # Default format bundle to gather data in the pipeline, refer to mmdet3d.datasets.pipelines.formating for more details type='DefaultFormatBundle3D', # Default format bundle to gather data in the pipeline, refer to mmdet3d.datasets.pipelines.formatting for more details
class_names=('cabinet', 'bed', 'chair', 'sofa', 'table', 'door', class_names=('cabinet', 'bed', 'chair', 'sofa', 'table', 'door',
'window', 'bookshelf', 'picture', 'counter', 'desk', 'window', 'bookshelf', 'picture', 'counter', 'desk',
'curtain', 'refrigerator', 'showercurtrain', 'toilet', 'curtain', 'refrigerator', 'showercurtrain', 'toilet',
'sink', 'bathtub', 'garbagebin')), 'sink', 'bathtub', 'garbagebin')),
with_label=False), with_label=False),
dict(type='Collect3D', # Pipeline that decides which keys in the data should be passed to the detector, refer to mmdet3d.datasets.pipelines.formating for more details dict(type='Collect3D', # Pipeline that decides which keys in the data should be passed to the detector, refer to mmdet3d.datasets.pipelines.formatting for more details
keys=['points']) keys=['points'])
] ]
data = dict( data = dict(
...@@ -384,7 +384,7 @@ evaluation = dict(pipeline=[ # Pipeline is passed by eval_pipeline created befo ...@@ -384,7 +384,7 @@ evaluation = dict(pipeline=[ # Pipeline is passed by eval_pipeline created befo
lr = 0.008 # Learning rate of optimizers lr = 0.008 # Learning rate of optimizers
optimizer = dict( # Config used to build optimizer, support all the optimizers in PyTorch whose arguments are also the same as those in PyTorch optimizer = dict( # Config used to build optimizer, support all the optimizers in PyTorch whose arguments are also the same as those in PyTorch
type='Adam', # Type of optimizers, refer to https://github.com/open-mmlab/mmcv/blob/v1.3.7/mmcv/runner/optimizer/default_constructor.py#L12 for more details type='Adam', # Type of optimizers, refer to https://github.com/open-mmlab/mmcv/blob/v1.3.7/mmcv/runner/optimizer/default_constructor.py#L12 for more details
lr=0.008) # Learning rate of optimizers, see detail usages of the parameters in the documentaion of PyTorch lr=0.008) # Learning rate of optimizers, see detail usages of the parameters in the documentation of PyTorch
optimizer_config = dict( # Config used to build the optimizer hook, refer to https://github.com/open-mmlab/mmcv/blob/v1.3.7/mmcv/runner/hooks/optimizer.py#L22 for implementation details. optimizer_config = dict( # Config used to build the optimizer hook, refer to https://github.com/open-mmlab/mmcv/blob/v1.3.7/mmcv/runner/hooks/optimizer.py#L22 for implementation details.
grad_clip=dict( # Config used to grad_clip grad_clip=dict( # Config used to grad_clip
max_norm=10, # max norm of the gradients max_norm=10, # max norm of the gradients
......
...@@ -123,7 +123,7 @@ Tricks not implemented by the optimizer should be implemented through optimizer ...@@ -123,7 +123,7 @@ Tricks not implemented by the optimizer should be implemented through optimizer
_delete_=True, grad_clip=dict(max_norm=35, norm_type=2)) _delete_=True, grad_clip=dict(max_norm=35, norm_type=2))
``` ```
If your config inherits the base config which already sets the `optimizer_config`, you might need `_delete_=True` to overide the unnecessary settings in the base config. See the [config documentation](https://mmdetection.readthedocs.io/en/latest/tutorials/config.html) for more details. If your config inherits the base config which already sets the `optimizer_config`, you might need `_delete_=True` to override the unnecessary settings in the base config. See the [config documentation](https://mmdetection.readthedocs.io/en/latest/tutorials/config.html) for more details.
- __Use momentum schedule to accelerate model convergence__: - __Use momentum schedule to accelerate model convergence__:
...@@ -286,7 +286,7 @@ custom_hooks = [ ...@@ -286,7 +286,7 @@ custom_hooks = [
### Modify default runtime hooks ### Modify default runtime hooks
There are some common hooks that are not registerd through `custom_hooks`, they are There are some common hooks that are not registered through `custom_hooks`, they are
- log_config - log_config
- checkpoint_config - checkpoint_config
......
...@@ -203,7 +203,7 @@ The final output filename will be `faster_rcnn_r50_fpn_1x_20190801-{hash id}.pth ...@@ -203,7 +203,7 @@ The final output filename will be `faster_rcnn_r50_fpn_1x_20190801-{hash id}.pth
To convert the nuImages dataset into COCO format, please use the command below: To convert the nuImages dataset into COCO format, please use the command below:
```shell ```shell
python -u tools/data_converter/nuimage_converter.py --data-root ${DATA_ROOT} --version ${VERIONS} \ python -u tools/data_converter/nuimage_converter.py --data-root ${DATA_ROOT} --version ${VERSIONS} \
--out-dir ${OUT_DIR} --nproc ${NUM_WORKERS} --extra-tag ${TAG} --out-dir ${OUT_DIR} --nproc ${NUM_WORKERS} --extra-tag ${TAG}
``` ```
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment