# worker 分为 + worker=sequential,单线程,这个用来debug + worker=ray_distributed_no_torch,worker.threads_per_node=8,多线程,这个用来加速。这个不能进debug的断点 # 流程 1. 先跑metric_cache.sh,把cache的路径设好 2. 再跑simulate.sh,这个会对每一个scene进行8k/4k条轨迹的打分,建议debug的时候用4k条 需要实现的逻辑在navsim/agents/expansion/submetrics/metric_lk.py,如果需要更多的地图信息, 从pdmscorer里面找navsim/agents/expansion/scoring/pdm_scorer_expanded.py。 这个脚本会对每个scene token存一个文件夹,里面有个tmp.pkl,是当前各个轨迹小分: ``` return { # ori metrics 'noc': scorer._multi_metrics[MultiMetricIndex.NO_COLLISION].astype(np.float16)[1:], 'da': scorer._multi_metrics[MultiMetricIndex.DRIVABLE_AREA].astype(np.bool)[1:], 'dd': scorer._multi_metrics[MultiMetricIndex.DRIVING_DIRECTION].astype(np.float16)[1:], 'ttc': scorer._weighted_metrics[WeightedMetricIndex.TTC].astype(np.bool)[1:], 'progress': scorer._weighted_metrics[WeightedMetricIndex.PROGRESS].astype(np.float16)[1:], 'comfort': scorer._weighted_metrics[WeightedMetricIndex.COMFORTABLE].astype(np.bool)[1:], # expanded metrics 'mAP': scorer.navigation_mAP, 'lk': scorer._weighted_metrics[WeightedMetricIndex.LANE_KEEPING].astype(np.float16)[1:], 'tl': scorer._multi_metrics[MultiMetricIndex.TRAFFIC_LIGHTS].astype(np.bool)[1:], 'total': scores.astype(np.float16)[1:] } ``` 3. 验证自己的实现是不是对:跑vis_vocab.sh,每个token文件夹下产生一个图