Add causal person fusion and MuVAP stage-3 baselines
This commit is contained in:
+23
-1
@@ -19,6 +19,7 @@ from easycom_head import (
|
||||
NUM_HORIZONS,
|
||||
OFFICIAL_TEST_SESSIONS,
|
||||
STEP_SECONDS,
|
||||
TRACK_PERSON_FUSION_MODES,
|
||||
TurnPredictionHead,
|
||||
average_precision_metrics,
|
||||
checkpoint_head_config,
|
||||
@@ -149,7 +150,7 @@ def _predict_states(
|
||||
start,
|
||||
min(start + batch_size, len(states)),
|
||||
)
|
||||
if head.local_fusion == "track-gru-residual":
|
||||
if head.local_fusion in TRACK_PERSON_FUSION_MODES:
|
||||
person_batch, person_mask = local_person_features.padded_history(
|
||||
rows,
|
||||
max_observations=head.person_history_frames,
|
||||
@@ -500,6 +501,14 @@ def main() -> None:
|
||||
f"{name}: saved pred {predictions.shape}, "
|
||||
f"causal-valid counts={valid.sum(axis=0).tolist()}"
|
||||
)
|
||||
if head.person_adapter_diagnostics():
|
||||
print(
|
||||
"person adapter diagnostics: "
|
||||
+ json.dumps(
|
||||
head.person_adapter_diagnostics(),
|
||||
sort_keys=True,
|
||||
)
|
||||
)
|
||||
|
||||
metrics = _evaluate(session_predictions, session_valid, session_targets)
|
||||
transition_metrics = (
|
||||
@@ -532,10 +541,23 @@ def main() -> None:
|
||||
).get("epochs"),
|
||||
"checkpoint_train_sessions": checkpoint_payload.get("train_sessions"),
|
||||
"checkpoint_dev_sessions": checkpoint_payload.get("dev_sessions"),
|
||||
"initialized_pooled_checkpoint": checkpoint_payload.get(
|
||||
"training_config", {}
|
||||
).get("initialize_pooled_checkpoint"),
|
||||
"initialized_pooled_checkpoint_sha256": checkpoint_payload.get(
|
||||
"training_config", {}
|
||||
).get("initialize_pooled_checkpoint_sha256"),
|
||||
"initialized_pooled_checkpoint_epoch": checkpoint_payload.get(
|
||||
"training_config", {}
|
||||
).get("initialize_pooled_checkpoint_epoch"),
|
||||
"pooled_base_frozen": checkpoint_payload.get(
|
||||
"training_config", {}
|
||||
).get("pooled_base_frozen"),
|
||||
"layer_fusion": head.layer_fusion,
|
||||
"local_fusion": head.local_fusion,
|
||||
"local_fusion_scope": LOCAL_FUSION_SCOPES[head.local_fusion],
|
||||
"person_interaction_gates": head.person_interaction_gates(),
|
||||
"person_adapter_diagnostics": head.person_adapter_diagnostics(),
|
||||
"person_history_frames": head.person_history_frames,
|
||||
"person_track_max_gap_seconds": head.person_track_max_gap_seconds,
|
||||
"local_contract": local_contract,
|
||||
|
||||
Reference in New Issue
Block a user