SDTagNet - nuScenes (new split, long range), ResNet-50, 30ep schedule

Best checkpoints from an SDTagNet training run on nuScenes with the new split and the 100 x 50 m long-range setting (pc_range = [-25, -50, -10, 25, 50, 10], BEV (200, 100)). ResNet-50 image backbone, camera-only SDTagNet, 30-epoch schedule.

This repository replaces the earlier upload under the same repo name with the later sdtagnet_nusc_r50_30ep_100_50_range_mapping_last run.

Evaluation on long-range new-split val

Checkpoint Save time (UTC) NuscMap_chamfer/mAP divider_AP boundary_AP ped_crossing_AP
mAP_epoch_8.pth 2026-04-29 22:15 0.2070 0.2399 0.2700 0.1112
mAP_epoch_20.pth 2026-04-30 19:49 0.2251 0.2490 0.3077 0.1188

AP by chamfer threshold (@1.0 / @1.5 / @2.0 m):

mAP_epoch_8.pth

Class @1.0 @1.5 @2.0
divider 0.1364 0.2490 0.3343
boundary 0.1064 0.2837 0.4197
ped_crossing 0.0349 0.1112 0.1876

mAP_epoch_20.pth

Class @1.0 @1.5 @2.0
divider 0.1534 0.2587 0.3348
boundary 0.1293 0.3199 0.4737
ped_crossing 0.0368 0.1187 0.2009

Recorded mAP progression:

Epoch mAP
2 0.1345
4 0.1855
6 0.1965
8 0.2070
10 0.2157
12 0.2180
14 0.2240
16 0.2200
18 0.2238
20 0.2251
22 0.2210

Range / BEV / modality

  • pc_range = [-25.0, -50.0, -10.0, 25.0, 50.0, 10.0]
  • bev_size = (200, 100)
  • use_lidar = False (camera-only SDTagNet)
  • Image backbone: ResNet-50
  • Training schedule in the saved config: 30 epochs

Files

Path Description
mAP_epoch_8.pth Best checkpoint at epoch 8 (~579 MB)
mAP_epoch_20.pth Best checkpoint at epoch 20, highest recorded mAP in this run (~579 MB)
sdtagnet_nusc_r50_30ep_100_50_range_mapping_last.py Exact config snapshot saved in the work_dir
logs/20260429_103003.log / .log.json Training/eval log covering epochs 2-8
logs/20260430_021112.log / .log.json Continuation log covering epochs 10-22

Config notes

The config expects:

  • data_root = '/datasets/public/nuscenes/'
  • train/val pkl: nuscenes_map_infos_temporal_newsplit_100x50_{train,val}.pkl
  • eval json: nuscenes_map_anns_val_sdtagnet_100x50.json
  • work_dir = './work_dirs/sdtagnet_nusc_r50_30ep_100_50_range_mapping_last'

Override paths for your own environment.

Related checkpoints

  • sung98/sdtagnet-nusc-r50-110ep-newsplit - SDTagNet, standard range, new split
  • sung98/sdtagnet-nusc-r50-30ep-oldsplit - SDTagNet, old split, standard range
  • sung98/maptrv2-nusc-r50-110ep-lidar-newsplit - MapTRv2 LiDAR, new split
  • sung98/maptrv2-nusc-r50-24ep-lidar-oldsplit - MapTRv2 LiDAR, old split
  • sung98/maptrv2-nusc-r50-24ep-lidar-newsplit-longrange - MapTRv2 LiDAR, long range, new split

Numbers across runs are not directly comparable (different range / split / eval thresholds / model).

Loading

from mmcv import Config
from mmdet3d.models import build_model
from mmcv.runner import load_checkpoint

cfg = Config.fromfile('sdtagnet_nusc_r50_30ep_100_50_range_mapping_last.py')
cfg.model.train_cfg = None
model = build_model(cfg.model, test_cfg=cfg.get('test_cfg'))
load_checkpoint(model, 'mAP_epoch_20.pth', map_location='cpu')
model.eval()
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support