Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
OpenPCDet
Commits
b43d99f5
Commit
b43d99f5
authored
Jul 28, 2020
by
Shaoshuai Shi
Browse files
update config, fix small bugs for testing
parent
d2d32f69
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
173 additions
and
12 deletions
+173
-12
pcdet/datasets/processor/data_processor.py
pcdet/datasets/processor/data_processor.py
+0
-3
pcdet/utils/common_utils.py
pcdet/utils/common_utils.py
+4
-3
tools/cfgs/kitti_models/pointrcnn.yaml
tools/cfgs/kitti_models/pointrcnn.yaml
+0
-4
tools/cfgs/kitti_models/pointrcnn_iou.yaml
tools/cfgs/kitti_models/pointrcnn_iou.yaml
+160
-0
tools/scripts/slurm_test_mgpu.sh
tools/scripts/slurm_test_mgpu.sh
+3
-1
tools/scripts/slurm_train.sh
tools/scripts/slurm_train.sh
+2
-1
tools/test.py
tools/test.py
+4
-0
No files found.
pcdet/datasets/processor/data_processor.py
View file @
b43d99f5
...
@@ -70,9 +70,6 @@ class DataProcessor(object):
...
@@ -70,9 +70,6 @@ class DataProcessor(object):
if
num_points
==
-
1
:
if
num_points
==
-
1
:
return
data_dict
return
data_dict
if
config
.
FIX_SEED
[
self
.
mode
]:
np
.
random
.
seed
(
512
)
points
=
data_dict
[
'points'
]
points
=
data_dict
[
'points'
]
if
num_points
<
len
(
points
):
if
num_points
<
len
(
points
):
pts_depth
=
np
.
linalg
.
norm
(
points
[:,
0
:
3
],
axis
=
1
)
pts_depth
=
np
.
linalg
.
norm
(
points
[:,
0
:
3
],
axis
=
1
)
...
...
pcdet/utils/common_utils.py
View file @
b43d99f5
...
@@ -133,6 +133,7 @@ def init_dist_slurm(tcp_port, local_rank, backend='nccl'):
...
@@ -133,6 +133,7 @@ def init_dist_slurm(tcp_port, local_rank, backend='nccl'):
dist
.
init_process_group
(
backend
=
backend
)
dist
.
init_process_group
(
backend
=
backend
)
total_gpus
=
dist
.
get_world_size
()
total_gpus
=
dist
.
get_world_size
()
rank
=
dist
.
get_rank
()
return
total_gpus
,
rank
return
total_gpus
,
rank
...
...
tools/cfgs/kitti_models/pointrcnn.yaml
View file @
b43d99f5
...
@@ -12,10 +12,6 @@ DATA_CONFIG:
...
@@ -12,10 +12,6 @@ DATA_CONFIG:
'
train'
:
16384
,
'
train'
:
16384
,
'
test'
:
16384
'
test'
:
16384
}
}
FIX_SEED
:
{
'
train'
:
False
,
'
test'
:
True
}
-
NAME
:
shuffle_points
-
NAME
:
shuffle_points
SHUFFLE_ENABLED
:
{
SHUFFLE_ENABLED
:
{
...
...
tools/cfgs/kitti_models/pointrcnn_iou.yaml
0 → 100644
View file @
b43d99f5
CLASS_NAMES
:
[
'
Car'
,
'
Pedestrian'
,
'
Cyclist'
]
DATA_CONFIG
:
_BASE_CONFIG_
:
cfgs/dataset_configs/kitti_dataset.yaml
DATA_PROCESSOR
:
-
NAME
:
mask_points_and_boxes_outside_range
REMOVE_OUTSIDE_BOXES
:
True
-
NAME
:
sample_points
NUM_POINTS
:
{
'
train'
:
16384
,
'
test'
:
16384
}
-
NAME
:
shuffle_points
SHUFFLE_ENABLED
:
{
'
train'
:
True
,
'
test'
:
False
}
MODEL
:
NAME
:
PointRCNN
BACKBONE_3D
:
NAME
:
PointNet2MSG
SA_CONFIG
:
NPOINTS
:
[
4096
,
1024
,
256
,
64
]
RADIUS
:
[[
0.1
,
0.5
],
[
0.5
,
1.0
],
[
1.0
,
2.0
],
[
2.0
,
4.0
]]
NSAMPLE
:
[[
16
,
32
],
[
16
,
32
],
[
16
,
32
],
[
16
,
32
]]
MLPS
:
[[[
16
,
16
,
32
],
[
32
,
32
,
64
]],
[[
64
,
64
,
128
],
[
64
,
96
,
128
]],
[[
128
,
196
,
256
],
[
128
,
196
,
256
]],
[[
256
,
256
,
512
],
[
256
,
384
,
512
]]]
FP_MLPS
:
[[
128
,
128
],
[
256
,
256
],
[
512
,
512
],
[
512
,
512
]]
POINT_HEAD
:
NAME
:
PointHeadBox
CLS_FC
:
[
256
,
256
]
REG_FC
:
[
256
,
256
]
CLASS_AGNOSTIC
:
False
USE_POINT_FEATURES_BEFORE_FUSION
:
False
TARGET_CONFIG
:
GT_EXTRA_WIDTH
:
[
0.2
,
0.2
,
0.2
]
BOX_CODER
:
PointResidualCoder
BOX_CODER_CONFIG
:
{
'
use_mean_size'
:
True
,
'
mean_size'
:
[
[
3.9
,
1.6
,
1.56
],
[
0.8
,
0.6
,
1.73
],
[
1.76
,
0.6
,
1.73
]
]
}
LOSS_CONFIG
:
LOSS_REG
:
WeightedSmoothL1Loss
LOSS_WEIGHTS
:
{
'
point_cls_weight'
:
1.0
,
'
point_box_weight'
:
1.0
,
'
code_weights'
:
[
1.0
,
1.0
,
1.0
,
1.0
,
1.0
,
1.0
,
1.0
,
1.0
]
}
ROI_HEAD
:
NAME
:
PointRCNNHead
CLASS_AGNOSTIC
:
True
ROI_POINT_POOL
:
POOL_EXTRA_WIDTH
:
[
0.0
,
0.0
,
0.0
]
NUM_SAMPLED_POINTS
:
512
DEPTH_NORMALIZER
:
70.0
XYZ_UP_LAYER
:
[
128
,
128
]
CLS_FC
:
[
256
,
256
]
REG_FC
:
[
256
,
256
]
DP_RATIO
:
0.0
USE_BN
:
False
SA_CONFIG
:
NPOINTS
:
[
128
,
32
,
-1
]
RADIUS
:
[
0.2
,
0.4
,
100
]
NSAMPLE
:
[
16
,
16
,
16
]
MLPS
:
[[
128
,
128
,
128
],
[
128
,
128
,
256
],
[
256
,
256
,
512
]]
NMS_CONFIG
:
TRAIN
:
NMS_TYPE
:
nms_gpu
MULTI_CLASSES_NMS
:
False
NMS_PRE_MAXSIZE
:
9000
NMS_POST_MAXSIZE
:
512
NMS_THRESH
:
0.8
TEST
:
NMS_TYPE
:
nms_gpu
MULTI_CLASSES_NMS
:
False
NMS_PRE_MAXSIZE
:
9000
NMS_POST_MAXSIZE
:
100
NMS_THRESH
:
0.85
TARGET_CONFIG
:
BOX_CODER
:
ResidualCoder
ROI_PER_IMAGE
:
128
FG_RATIO
:
0.5
SAMPLE_ROI_BY_EACH_CLASS
:
True
CLS_SCORE_TYPE
:
roi_iou
CLS_FG_THRESH
:
0.7
CLS_BG_THRESH
:
0.25
CLS_BG_THRESH_LO
:
0.1
HARD_BG_RATIO
:
0.8
REG_FG_THRESH
:
0.55
LOSS_CONFIG
:
CLS_LOSS
:
BinaryCrossEntropy
REG_LOSS
:
smooth-l1
CORNER_LOSS_REGULARIZATION
:
True
LOSS_WEIGHTS
:
{
'
rcnn_cls_weight'
:
1.0
,
'
rcnn_reg_weight'
:
1.0
,
'
rcnn_corner_weight'
:
1.0
,
'
code_weights'
:
[
1.0
,
1.0
,
1.0
,
1.0
,
1.0
,
1.0
,
1.0
]
}
POST_PROCESSING
:
RECALL_THRESH_LIST
:
[
0.3
,
0.5
,
0.7
]
SCORE_THRESH
:
0.1
OUTPUT_RAW_SCORE
:
False
EVAL_METRIC
:
kitti
NMS_CONFIG
:
MULTI_CLASSES_NMS
:
False
NMS_TYPE
:
nms_gpu
NMS_THRESH
:
0.1
NMS_PRE_MAXSIZE
:
4096
NMS_POST_MAXSIZE
:
500
OPTIMIZATION
:
BATCH_SIZE_PER_GPU
:
3
NUM_EPOCHS
:
80
OPTIMIZER
:
adam_onecycle
LR
:
0.01
WEIGHT_DECAY
:
0.01
MOMENTUM
:
0.9
MOMS
:
[
0.95
,
0.85
]
PCT_START
:
0.4
DIV_FACTOR
:
10
DECAY_STEP_LIST
:
[
35
,
45
]
LR_DECAY
:
0.1
LR_CLIP
:
0.0000001
LR_WARMUP
:
False
WARMUP_EPOCH
:
1
GRAD_NORM_CLIP
:
10
tools/scripts/slurm_test_mgpu.sh
View file @
b43d99f5
...
@@ -9,6 +9,8 @@ PY_ARGS=${@:3}
...
@@ -9,6 +9,8 @@ PY_ARGS=${@:3}
JOB_NAME
=
eval
JOB_NAME
=
eval
SRUN_ARGS
=
${
SRUN_ARGS
:-
""
}
SRUN_ARGS
=
${
SRUN_ARGS
:-
""
}
PORT
=
$((
(
RANDOM
%
10000
)
+
10000
))
srun
-p
${
PARTITION
}
\
srun
-p
${
PARTITION
}
\
--job-name
=
${
JOB_NAME
}
\
--job-name
=
${
JOB_NAME
}
\
--gres
=
gpu:
${
GPUS_PER_NODE
}
\
--gres
=
gpu:
${
GPUS_PER_NODE
}
\
...
@@ -16,5 +18,5 @@ srun -p ${PARTITION} \
...
@@ -16,5 +18,5 @@ srun -p ${PARTITION} \
--ntasks-per-node
=
${
GPUS_PER_NODE
}
\
--ntasks-per-node
=
${
GPUS_PER_NODE
}
\
--kill-on-bad-exit
=
1
\
--kill-on-bad-exit
=
1
\
${
SRUN_ARGS
}
\
${
SRUN_ARGS
}
\
python
-u
test.py
--launcher
slurm
${
PY_ARGS
}
python
-u
test.py
--launcher
slurm
${
PY_ARGS
}
--tcp_port
$PORT
tools/scripts/slurm_train.sh
View file @
b43d99f5
...
@@ -11,6 +11,7 @@ GPUS_PER_NODE=${GPUS_PER_NODE:-8}
...
@@ -11,6 +11,7 @@ GPUS_PER_NODE=${GPUS_PER_NODE:-8}
CPUS_PER_TASK
=
${
CPUS_PER_TASK
:-
5
}
CPUS_PER_TASK
=
${
CPUS_PER_TASK
:-
5
}
SRUN_ARGS
=
${
SRUN_ARGS
:-
""
}
SRUN_ARGS
=
${
SRUN_ARGS
:-
""
}
PORT
=
$((
(
RANDOM
%
10000
)
+
10000
))
srun
-p
${
PARTITION
}
\
srun
-p
${
PARTITION
}
\
--job-name
=
${
JOB_NAME
}
\
--job-name
=
${
JOB_NAME
}
\
...
@@ -20,4 +21,4 @@ srun -p ${PARTITION} \
...
@@ -20,4 +21,4 @@ srun -p ${PARTITION} \
--cpus-per-task
=
${
CPUS_PER_TASK
}
\
--cpus-per-task
=
${
CPUS_PER_TASK
}
\
--kill-on-bad-exit
=
1
\
--kill-on-bad-exit
=
1
\
${
SRUN_ARGS
}
\
${
SRUN_ARGS
}
\
python
-u
train.py
--launcher
slurm
${
PY_ARGS
}
python
-u
train.py
--launcher
slurm
${
PY_ARGS
}
--tcp_port
$PORT
tools/test.py
View file @
b43d99f5
import
os
import
os
import
numpy
as
np
import
torch
import
torch
from
tensorboardX
import
SummaryWriter
from
tensorboardX
import
SummaryWriter
import
time
import
time
...
@@ -40,6 +41,9 @@ def parse_config():
...
@@ -40,6 +41,9 @@ def parse_config():
cfg_from_yaml_file
(
args
.
cfg_file
,
cfg
)
cfg_from_yaml_file
(
args
.
cfg_file
,
cfg
)
cfg
.
TAG
=
Path
(
args
.
cfg_file
).
stem
cfg
.
TAG
=
Path
(
args
.
cfg_file
).
stem
cfg
.
EXP_GROUP_PATH
=
'/'
.
join
(
args
.
cfg_file
.
split
(
'/'
)[
1
:
-
1
])
# remove 'cfgs' and 'xxxx.yaml'
cfg
.
EXP_GROUP_PATH
=
'/'
.
join
(
args
.
cfg_file
.
split
(
'/'
)[
1
:
-
1
])
# remove 'cfgs' and 'xxxx.yaml'
np
.
random
.
seed
(
1024
)
if
args
.
set_cfgs
is
not
None
:
if
args
.
set_cfgs
is
not
None
:
cfg_from_list
(
args
.
set_cfgs
,
cfg
)
cfg_from_list
(
args
.
set_cfgs
,
cfg
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment