Skip to content

Commit 8c063c1

Browse files
committed
Reapply "tmp save plot locally"
This reverts commit 1b95b82.
1 parent 5f503f7 commit 8c063c1

1 file changed

Lines changed: 45 additions & 21 deletions

File tree

selfdrive/test/process_replay/model_replay.py

Lines changed: 45 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -254,27 +254,27 @@ def get_frames():
254254
'driverStateV2.modelExecutionTime',
255255
'driverStateV2.gpuExecutionTime'
256256
]
257-
if PC:
258-
# TODO We ignore whole bunch so we can compare important stuff
259-
# like posenet with reasonable tolerance
260-
ignore += ['modelV2.acceleration.x',
261-
'modelV2.position.x',
262-
'modelV2.position.xStd',
263-
'modelV2.position.y',
264-
'modelV2.position.yStd',
265-
'modelV2.position.z',
266-
'modelV2.position.zStd',
267-
'drivingModelData.path.xCoefficients',]
268-
for i in range(3):
269-
for field in ('x', 'y', 'v', 'a'):
270-
ignore.append(f'modelV2.leadsV3.{i}.{field}')
271-
ignore.append(f'modelV2.leadsV3.{i}.{field}Std')
272-
for i in range(4):
273-
for field in ('x', 'y', 'z', 't'):
274-
ignore.append(f'modelV2.laneLines.{i}.{field}')
275-
for i in range(2):
276-
for field in ('x', 'y', 'z', 't'):
277-
ignore.append(f'modelV2.roadEdges.{i}.{field}')
257+
# if PC:
258+
# # TODO We ignore whole bunch so we can compare important stuff
259+
# # like posenet with reasonable tolerance
260+
# ignore += ['modelV2.acceleration.x',
261+
# 'modelV2.position.x',
262+
# 'modelV2.position.xStd',
263+
# 'modelV2.position.y',
264+
# 'modelV2.position.yStd',
265+
# 'modelV2.position.z',
266+
# 'modelV2.position.zStd',
267+
# 'drivingModelData.path.xCoefficients',]
268+
# for i in range(3):
269+
# for field in ('x', 'y', 'v', 'a'):
270+
# ignore.append(f'modelV2.leadsV3.{i}.{field}')
271+
# ignore.append(f'modelV2.leadsV3.{i}.{field}Std')
272+
# for i in range(4):
273+
# for field in ('x', 'y', 'z', 't'):
274+
# ignore.append(f'modelV2.laneLines.{i}.{field}')
275+
# for i in range(2):
276+
# for field in ('x', 'y', 'z', 't'):
277+
# ignore.append(f'modelV2.roadEdges.{i}.{field}')
278278
tolerance = .3 if PC else None
279279
results: Any = {TEST_ROUTE: {}}
280280
log_paths: Any = {TEST_ROUTE: {"models": {'ref': log_fn, 'new': log_fn}}}
@@ -285,6 +285,30 @@ def get_frames():
285285
comment_replay_report(log_msgs, cmp_log, log_msgs)
286286
failed = False
287287
print(diff_long)
288+
else:
289+
commit = (get_commit() or 'local')[:7]
290+
all_plots = [*zl([
291+
(lambda x: get_idx_if_non_empty(x.velocity.x, 0), "velocity.x"),
292+
(lambda x: get_idx_if_non_empty(x.action.desiredCurvature), "desiredCurvature"),
293+
(lambda x: get_idx_if_non_empty(x.action.desiredAcceleration), "desiredAcceleration"),
294+
(lambda x: get_idx_if_non_empty(x.leadsV3[0].x, 0), "leadsV3.x"),
295+
(lambda x: get_idx_if_non_empty(x.laneLines[1].y, 0), "laneLines.y"),
296+
(lambda x: get_idx_if_non_empty(x.meta.disengagePredictions.gasPressProbs, 1), "gasPressProbs"),
297+
], "modelV2")]
298+
n = len(all_plots)
299+
fig, axes = plt.subplots(n, 1, figsize=(10, 3 * n))
300+
for ax, (v, event) in zip(axes, all_plots):
301+
proposed_vals = list(map(v[0], get_event(log_msgs, event)))
302+
master_vals = list(map(v[0], get_event(cmp_log, event)))
303+
ax.plot(master_vals, label='MASTER')
304+
ax.plot(proposed_vals, label='PROPOSED')
305+
ax.set_title(v[1])
306+
ax.legend(fontsize=8)
307+
ax.grid(True, alpha=0.3)
308+
fig.tight_layout()
309+
out = f"model_replay_{commit}.png"
310+
fig.savefig(out, dpi=150)
311+
print(f"Plot saved to {out}")
288312
print('-------------\n'*5)
289313
print(diff_short)
290314
with open("model_diff.txt", "w") as f:

0 commit comments

Comments
 (0)