-
Notifications
You must be signed in to change notification settings - Fork 1
/
unim2ae_MMIM.yaml
executable file
·193 lines (178 loc) · 4.4 KB
/
unim2ae_MMIM.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
voxel_size: [0.2, 0.2, 4]
model:
type: UniM2AE_MMIM
fusion_module:
embed_dims: 192
strides: [1, 1]
positional_encoding:
type: SinePositionalEncoding3D
num_feats: 64
normalize: True
encoder:
type: DetrTransformerEncoder
num_layers: 3
transformerlayers:
type: BaseTransformerLayer
attn_cfgs:
type: MultiScaleDeformableAttention3D
embed_dims: 192
num_heads: 8
num_levels: 2
num_points: 4
im2col_step: 64
dropout: 0.0
batch_first: False
ffn_cfgs:
embed_dims: 192
feedforward_channels: 768
ffn_dropout: 0.0
operation_order: ['self_attn', 'norm', 'ffn', 'norm']
encoders:
camera:
backbone:
type: SwinTransformer
embed_dims: 96
depths: [2, 2, 6, 2]
num_heads: [3, 6, 12, 24]
window_size: 7
mlp_ratio: 4
qkv_bias: true
qk_scale: null
drop_rate: 0.
attn_drop_rate: 0.
drop_path_rate: 0.3
patch_norm: true
out_indices: [1, 2, 3]
with_cp: true
convert_weights: true
neck:
type: GeneralizedLSSFPN
in_channels: [192, 384, 768]
out_channels: 256
start_level: 0
num_outs: 3
norm_cfg:
type: BN2d
requires_grad: true
act_cfg:
type: ReLU
inplace: true
upsample_cfg:
mode: bilinear
align_corners: false
vtransform:
type: LSSTransform
in_channels: 256
out_channels: 80
image_size: ${image_size}
feature_size: ${[image_size[0] // 8, image_size[1] // 8]}
xbound: [-51.2, 51.2, 0.1]
ybound: [-51.2, 51.2, 0.1]
downsample: 2
zbound: [-10.0, 10.0, 5.0]
dbound: [1.0, 60.0, 0.5]
keep_z: True
lidar:
voxelize:
max_voxels: [-1, -1]
max_num_points: -1
Voxelization: true
point_cloud_range: ${point_cloud_range}
voxel_size: ${voxel_size}
backbone:
type: SSTv2
d_model: [128, 128, 128, 128, 128, 128, 128, 128]
nhead: [8, 8, 8, 8, 8, 8, 8, 8]
num_blocks: 8
dim_feedforward: [256, 256, 256, 256, 256, 256, 256, 256]
output_shape: [512, 512, 2]
num_attached_conv: 3
conv_in_channel: 128
conv_out_channel: 128
checkpoint_blocks: [0, 1, 2, 3, 4, 5]
debug: true
norm_cfg:
type: naiveSyncBN3d
eps: 1.0e-3
momentum: 0.01
conv_cfg:
type: Conv3d
bias: False
voxel_encoder:
type: DynamicVFE
in_channels: 5
feat_channels: [64, 128]
with_distance: false
voxel_size: ${voxel_size}
with_cluster_center: true
with_voxel_center: true
point_cloud_range: ${point_cloud_range}
middle_encoder:
type: SSTInputLayerV2
window_shape: [16, 16, 1]
sparse_shape: [512, 512, 2]
shuffle_voxels: true
debug: true
pos_temperature: 10000
normalize_pos: false
mute: true
fuser:
type: ConvFuser
in_channels: [80, 128]
out_channels: 128
decoder:
backbone:
type: SECOND
in_channels: 128
out_channels: [64, 128, 256]
layer_nums: [3, 5, 5]
layer_strides: [2, 2, 2]
norm_cfg:
type: BN
eps: 1.0e-3
momentum: 0.01
conv_cfg:
type: Conv2d
bias: false
neck:
type: SECONDFPN
in_channels: [64, 128, 256]
out_channels: [128, 128, 128]
upsample_strides: [0.5, 1, 2]
norm_cfg:
type: BN
eps: 1.0e-3
momentum: 0.01
upsample_cfg:
type: deconv
bias: false
use_conv_for_no_stride: true
heads:
map:
in_channels: 384
optimizer:
type: AdamW
lr: 1.0e-4
weight_decay: 0.01
paramwise_cfg:
custom_keys:
absolute_pos_embed:
decay_mult: 0
relative_position_bias_table:
decay_mult: 0
optimizer_config:
grad_clip:
max_norm: 35
norm_type: 2
lr_config:
policy: cyclic
momentum_config:
policy: cyclic
evaluation:
interval: 5
data:
samples_per_gpu: 4
workers_per_gpu: 12
max_epochs: 24
checkpoint_config:
max_keep_ckpts: 6