Commit ·
648e32c
1
Parent(s): 7df6a88
Fix submission.json output path and filter NaNs in hybrid_merge
Browse files
script.py
CHANGED
|
@@ -234,6 +234,21 @@ def hybrid_merge(pred_v, pred_e, track_v, track_e, merge_radius=0.8):
|
|
| 234 |
pred_v = np.array(pred_v) if isinstance(pred_v, list) else pred_v
|
| 235 |
track_v = np.array(track_v)
|
| 236 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
# We will append track vertices that are NOT close to any pred_v
|
| 238 |
if len(pred_v) > 0:
|
| 239 |
from scipy.spatial import cKDTree
|
|
@@ -381,7 +396,8 @@ if __name__ == "__main__":
|
|
| 381 |
f"{elapsed:.0f}s elapsed, ~{remaining:.0f}s remaining")
|
| 382 |
|
| 383 |
# Save
|
| 384 |
-
|
|
|
|
| 385 |
json.dump(solution, f)
|
| 386 |
|
| 387 |
elapsed = time.time() - t_start
|
|
|
|
| 234 |
pred_v = np.array(pred_v) if isinstance(pred_v, list) else pred_v
|
| 235 |
track_v = np.array(track_v)
|
| 236 |
|
| 237 |
+
# Filter out NaNs and Infs from track_v
|
| 238 |
+
valid_mask = np.isfinite(track_v).all(axis=1)
|
| 239 |
+
if not valid_mask.all():
|
| 240 |
+
valid_indices = np.where(valid_mask)[0]
|
| 241 |
+
idx_map = {old_idx: new_idx for new_idx, old_idx in enumerate(valid_indices)}
|
| 242 |
+
track_v = track_v[valid_mask]
|
| 243 |
+
new_track_e = []
|
| 244 |
+
for u, v in track_e:
|
| 245 |
+
if u in idx_map and v in idx_map:
|
| 246 |
+
new_track_e.append((idx_map[u], idx_map[v]))
|
| 247 |
+
track_e = new_track_e
|
| 248 |
+
|
| 249 |
+
if len(track_v) == 0:
|
| 250 |
+
return pred_v, pred_e
|
| 251 |
+
|
| 252 |
# We will append track vertices that are NOT close to any pred_v
|
| 253 |
if len(pred_v) > 0:
|
| 254 |
from scipy.spatial import cKDTree
|
|
|
|
| 396 |
f"{elapsed:.0f}s elapsed, ~{remaining:.0f}s remaining")
|
| 397 |
|
| 398 |
# Save
|
| 399 |
+
output_path = Path(params.get('output_path', '.'))
|
| 400 |
+
with open(output_path / "submission.json", "w") as f:
|
| 401 |
json.dump(solution, f)
|
| 402 |
|
| 403 |
elapsed = time.time() - t_start
|