text: dataset_type = 'JrdbDataset'
  data_root = 'data/jrdb/'
  class_names = ['Pedestrian']
  point_cloud_range = [-15, -15, -1.0, 15, 15, 3.0]
  input_modality = dict(use_lidar=True, use_camera=False)
  db_sampler = dict(
      data_root='data/jrdb/',
      info_path='data/jrdb/jrdb_dbinfos_train.pkl',
      rate=1.0,
      prepare=dict(
          filter_by_difficulty=[-1],
          filter_by_min_points=dict(Car=5, Pedestrian=10)),
      classes=['Pedestrian'],
      sample_groups=dict(Pedestrian=6))
  file_client_args = dict(backend='disk')
  train_pipeline = [
      dict(
          type='LoadPointsFromFile',
          coord_type='LIDAR',
          load_dim=4,
          use_dim=4,
          file_client_args=dict(backend='disk')),
      dict(
          type='LoadAnnotations3D',
          with_bbox_3d=True,
          with_label_3d=True,
          file_client_args=dict(backend='disk')),
      dict(
          type='PointsRangeFilter',
          point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
      dict(
          type='ObjectRangeFilter',
          point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
      dict(type='DefaultFormatBundle3D', class_names=['Pedestrian']),
      dict(type='Collect3D', keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
  ]
  test_pipeline = [
      dict(
          type='LoadPointsFromFile',
          coord_type='LIDAR',
          load_dim=4,
          use_dim=4,
          file_client_args=dict(backend='disk')),
      dict(
          type='MultiScaleFlipAug3D',
          img_scale=(3760, 480),
          pts_scale_ratio=1,
          flip=False,
          transforms=[
              dict(
                  type='GlobalRotScaleTrans',
                  rot_range=[0, 0],
                  scale_ratio_range=[1.0, 1.0],
                  translation_std=[0, 0, 0]),
              dict(type='RandomFlip3D'),
              dict(
                  type='PointsRangeFilter',
                  point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
              dict(
                  type='DefaultFormatBundle3D',
                  class_names=['Pedestrian'],
                  with_label=False),
              dict(type='Collect3D', keys=['points'])
          ])
  ]
  eval_pipeline = [
      dict(
          type='LoadPointsFromFile',
          coord_type='LIDAR',
          load_dim=4,
          use_dim=4,
          file_client_args=dict(backend='disk')),
      dict(
          type='DefaultFormatBundle3D',
          class_names=['Pedestrian'],
          with_label=False),
      dict(type='Collect3D', keys=['points'])
  ]
  data = dict(
      samples_per_gpu=6,
      workers_per_gpu=4,
      train=dict(
          type='RepeatDataset',
          times=2,
          dataset=dict(
              type='JrdbDataset',
              data_root='data/jrdb/',
              ann_file='data/jrdb/jrdb_infos_train.pkl',
              split='training',
              pts_prefix='velodyne',
              pipeline=[
                  dict(
                      type='LoadPointsFromFile',
                      coord_type='LIDAR',
                      load_dim=4,
                      use_dim=4,
                      file_client_args=dict(backend='disk')),
                  dict(
                      type='LoadAnnotations3D',
                      with_bbox_3d=True,
                      with_label_3d=True,
                      file_client_args=dict(backend='disk')),
                  dict(
                      type='PointsRangeFilter',
                      point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
                  dict(
                      type='ObjectRangeFilter',
                      point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
                  dict(type='DefaultFormatBundle3D', class_names=['Pedestrian']),
                  dict(
                      type='Collect3D',
                      keys=['points', 'gt_bboxes_3d', 'gt_labels_3d'])
              ],
              modality=dict(use_lidar=True, use_camera=False),
              classes=['Pedestrian'],
              test_mode=False,
              box_type_3d='LiDAR')),
      val=dict(
          type='JrdbDataset',
          data_root='data/jrdb/',
          ann_file='data/jrdb/jrdb_infos_val.pkl',
          split='training',
          pts_prefix='velodyne',
          pipeline=[
              dict(
                  type='LoadPointsFromFile',
                  coord_type='LIDAR',
                  load_dim=4,
                  use_dim=4,
                  file_client_args=dict(backend='disk')),
              dict(
                  type='MultiScaleFlipAug3D',
                  img_scale=(3760, 480),
                  pts_scale_ratio=1,
                  flip=False,
                  transforms=[
                      dict(
                          type='GlobalRotScaleTrans',
                          rot_range=[0, 0],
                          scale_ratio_range=[1.0, 1.0],
                          translation_std=[0, 0, 0]),
                      dict(type='RandomFlip3D'),
                      dict(
                          type='PointsRangeFilter',
                          point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
                      dict(
                          type='DefaultFormatBundle3D',
                          class_names=['Pedestrian'],
                          with_label=False),
                      dict(type='Collect3D', keys=['points'])
                  ])
          ],
          modality=dict(use_lidar=True, use_camera=False),
          classes=['Pedestrian'],
          test_mode=True,
          box_type_3d='LiDAR'),
      test=dict(
          type='JrdbDataset',
          data_root='data/jrdb/',
          ann_file='data/jrdb/jrdb_infos_val.pkl',
          split='training',
          pts_prefix='velodyne',
          pipeline=[
              dict(
                  type='LoadPointsFromFile',
                  coord_type='LIDAR',
                  load_dim=4,
                  use_dim=4,
                  file_client_args=dict(backend='disk')),
              dict(
                  type='MultiScaleFlipAug3D',
                  img_scale=(3760, 480),
                  pts_scale_ratio=1,
                  flip=False,
                  transforms=[
                      dict(
                          type='GlobalRotScaleTrans',
                          rot_range=[0, 0],
                          scale_ratio_range=[1.0, 1.0],
                          translation_std=[0, 0, 0]),
                      dict(type='RandomFlip3D'),
                      dict(
                          type='PointsRangeFilter',
                          point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
                      dict(
                          type='DefaultFormatBundle3D',
                          class_names=['Pedestrian'],
                          with_label=False),
                      dict(type='Collect3D', keys=['points'])
                  ])
          ],
          modality=dict(use_lidar=True, use_camera=False),
          classes=['Pedestrian'],
          test_mode=True,
          box_type_3d='LiDAR'))
  evaluation = dict(
      interval=1,
      pipeline=[
          dict(
              type='LoadPointsFromFile',
              coord_type='LIDAR',
              load_dim=4,
              use_dim=4,
              file_client_args=dict(backend='disk')),
          dict(
              type='DefaultFormatBundle3D',
              class_names=['Pedestrian'],
              with_label=False),
          dict(type='Collect3D', keys=['points'])
      ])
  voxel_size = [0.05, 0.05, 0.1]
  model = dict(
      type='CenterPoint',
      pts_voxel_layer=dict(
          max_num_points=20,
          voxel_size=[0.2, 0.2, 8],
          max_voxels=(30000, 40000),
          point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0]),
      pts_voxel_encoder=dict(
          type='PillarFeatureNet',
          in_channels=4,
          feat_channels=[64],
          with_distance=False,
          voxel_size=(0.2, 0.2, 8),
          norm_cfg=dict(type='BN1d', eps=0.001, momentum=0.01),
          legacy=False),
      pts_middle_encoder=dict(
          type='PointPillarsScatter', in_channels=64, output_shape=(512, 512)),
      pts_backbone=dict(
          type='SECOND',
          in_channels=64,
          out_channels=[64, 128, 256],
          layer_nums=[3, 5, 5],
          layer_strides=[2, 2, 2],
          norm_cfg=dict(type='BN', eps=0.001, momentum=0.01),
          conv_cfg=dict(type='Conv2d', bias=False)),
      pts_neck=dict(
          type='SECONDFPN',
          in_channels=[64, 128, 256],
          out_channels=[128, 128, 128],
          upsample_strides=[0.5, 1, 2],
          norm_cfg=dict(type='BN', eps=0.001, momentum=0.01),
          upsample_cfg=dict(type='deconv', bias=False),
          use_conv_for_no_stride=True),
      pts_bbox_head=dict(
          type='CenterHeadKITTI',
          in_channels=384,
          tasks=[dict(num_class=1, class_names=['Pedestrian'])],
          common_heads=dict(
              reg=(2, 2), height=(1, 2), dim=(3, 2), rot=(2, 2), vel=(2, 2)),
          share_conv_channel=64,
          bbox_coder=dict(
              type='CenterPointBBoxCoder',
              post_center_range=[-61.2, -61.2, -10.0, 61.2, 61.2, 10.0],
              max_num=500,
              score_threshold=0.1,
              out_size_factor=4,
              voxel_size=[0.2, 0.2],
              code_size=9,
              pc_range=[-15, -15]),
          separate_head=dict(
              type='SeparateHead', init_bias=-2.19, final_kernel=3),
          loss_cls=dict(type='GaussianFocalLoss', reduction='mean'),
          loss_bbox=dict(type='L1Loss', reduction='mean', loss_weight=0.25),
          norm_bbox=True),
      train_cfg=dict(
          pts=dict(
              grid_size=[512, 512, 1],
              voxel_size=[0.2, 0.2, 8],
              out_size_factor=4,
              dense_reg=1,
              gaussian_overlap=0.1,
              max_objs=500,
              min_radius=2,
              code_weights=[1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
              point_cloud_range=[-15, -15, -1.0, 15, 15, 3.0])),
      test_cfg=dict(
          pts=dict(
              post_center_limit_range=[-61.2, -61.2, -10.0, 61.2, 61.2, 10.0],
              max_per_img=500,
              max_pool_nms=False,
              min_radius=[4, 12, 10, 1, 0.85, 0.175],
              score_threshold=0.1,
              pc_range=[-15, -15],
              out_size_factor=4,
              voxel_size=[0.2, 0.2],
              nms_type='rotate',
              pre_max_size=1000,
              post_max_size=83,
              nms_thr=0.2)))
  optimizer = dict(type='AdamW', lr=0.0001, weight_decay=0.01)
  optimizer_config = dict(grad_clip=dict(max_norm=10, norm_type=2))
  lr_config = dict(
      policy='cyclic',
      target_ratio=(10, 0.0001),
      cyclic_times=1,
      step_ratio_up=0.4)
  momentum_config = dict(
      policy='cyclic',
      target_ratio=(0.8947368421052632, 1),
      cyclic_times=1,
      step_ratio_up=0.4)
  runner = dict(type='EpochBasedRunner', max_epochs=20)
  checkpoint_config = dict(interval=1)
  log_config = dict(
      interval=50,
      hooks=[dict(type='TextLoggerHook'),
             dict(type='TensorboardLoggerHook')])
  dist_params = dict(backend='nccl')
  log_level = 'INFO'
  work_dir = './work_dirs/centerpoint_02pillar_second_secfpn_4x8_cyclic_20e_jrdb'
  load_from = None
  resume_from = None
  workflow = [('train', 1)]
  gpu_ids = range(0, 1)
  