| { |
| "schema": "gdc_taxi_maneuver_release_config_v1", |
| "model_id": "generaldata/YellowCab", |
| "model_name": "YellowCab", |
| "model_version": "v0.1-causal", |
| "task": "predict a GPS-derived maneuver proxy approximately 20 seconds ahead", |
| "release_status": "public_research_release", |
| "actuation_allowed": false, |
| "labels": [ |
| "continue", |
| "slow", |
| "stop", |
| "turn_left", |
| "turn_right" |
| ], |
| "input": { |
| "frame_count": 3, |
| "frame_order": "oldest_to_newest", |
| "nominal_offsets_seconds": [ |
| -20, |
| -10, |
| 0 |
| ], |
| "timestamps_optional": true, |
| "timestamps_must_be_strictly_increasing": true, |
| "image": { |
| "allowed_formats": [ |
| "JPEG", |
| "PNG" |
| ], |
| "max_encoded_bytes": 11184812, |
| "max_decoded_bytes": 8388608, |
| "max_width": 8192, |
| "max_height": 8192, |
| "max_pixels": 16000000, |
| "allow_animated": false, |
| "allow_truncated": false, |
| "allow_urls": false, |
| "allow_data_urls": false |
| } |
| }, |
| "preprocessing": { |
| "exif_orientation": "transpose_then_discard_metadata", |
| "color_mode": "RGB", |
| "resize": "aspect_preserving_contain", |
| "interpolation": "bicubic", |
| "output_size": [ |
| 224, |
| 224 |
| ], |
| "letterbox_rgb": [ |
| 124, |
| 116, |
| 104 |
| ], |
| "channel_order": "CHW", |
| "pixel_scale": 255.0, |
| "image_mean": [ |
| 0.485, |
| 0.456, |
| 0.406 |
| ], |
| "image_std": [ |
| 0.229, |
| 0.224, |
| 0.225 |
| ] |
| }, |
| "telemetry": { |
| "feature_order": [ |
| "current_speed_mps", |
| "past_speed_mps", |
| "acceleration_mps2", |
| "past_turn_degrees", |
| "past_yaw_rate_deg_s", |
| "heading_sin", |
| "heading_cos", |
| "gps_accuracy_m", |
| "hour_sin", |
| "hour_cos", |
| "dow_sin", |
| "dow_cos" |
| ], |
| "fields": { |
| "current_speed_mps": { |
| "unit": "m/s", |
| "reference": "current capture", |
| "window": "average from the approximately t-20 anchor to t over the actual interval", |
| "definition": "haversine displacement divided by elapsed seconds", |
| "minimum": 0.0, |
| "maximum": 45.0, |
| "bounds_basis": "dataset-builder implied-speed acceptance policy" |
| }, |
| "past_speed_mps": { |
| "unit": "m/s", |
| "reference": "approximately t-20", |
| "window": "average from approximately t-40 to t-20 over the actual interval; copied from current_speed_mps when the deeper-past anchor was unavailable during dataset construction", |
| "definition": "haversine displacement divided by elapsed seconds", |
| "minimum": 0.0, |
| "maximum": 64.22581298799362, |
| "bounds_basis": "observed v0 corpus support; the dataset builder had no independent cap" |
| }, |
| "acceleration_mps2": { |
| "unit": "m/s^2", |
| "reference": "current capture", |
| "window": "change from past_speed_mps to current_speed_mps divided by the actual past interval", |
| "definition": "(current_speed_mps - past_speed_mps) / past interval seconds", |
| "minimum": -2.2890150038573767, |
| "maximum": 1.847550146877638, |
| "bounds_basis": "observed v0 corpus support; the dataset builder had no complete independent cap" |
| }, |
| "past_turn_degrees": { |
| "unit": "degrees", |
| "reference": "current capture", |
| "window": "bearing change between the approximately t-40 to t-20 and t-20 to t segments", |
| "definition": "wrapped signed bearing change; clockwise/right is positive and counter-clockwise/left is negative", |
| "minimum": -180.0, |
| "maximum": 180.0, |
| "maximum_inclusive": false, |
| "bounds_basis": "mathematical wrapped-angle range" |
| }, |
| "past_yaw_rate_deg_s": { |
| "unit": "degrees/s", |
| "reference": "current capture", |
| "window": "past_turn_degrees divided by the actual past interval", |
| "definition": "clockwise/right is positive and counter-clockwise/left is negative", |
| "minimum": -25.714285714285715, |
| "maximum": 25.714285714285715, |
| "bounds_basis": "theoretical v0 range from a 180 degree turn and the 7 second minimum accepted interval" |
| }, |
| "heading_sin": { |
| "unit": "unitless", |
| "reference": "current segment bearing", |
| "window": "approximately t-20 to t", |
| "definition": "sine of clockwise heading from north; north=0 and east=1", |
| "minimum": -1.0, |
| "maximum": 1.0, |
| "bounds_basis": "trigonometric range" |
| }, |
| "heading_cos": { |
| "unit": "unitless", |
| "reference": "current segment bearing", |
| "window": "approximately t-20 to t", |
| "definition": "cosine of clockwise heading from north; north=1 and east=0", |
| "minimum": -1.0, |
| "maximum": 1.0, |
| "bounds_basis": "trigonometric range" |
| }, |
| "gps_accuracy_m": { |
| "unit": "m", |
| "reference": "current capture", |
| "window": "instantaneous source-reported horizontal accuracy", |
| "definition": "source-reported accuracy value; missing training-source values were represented as 15 m", |
| "minimum": 0.0, |
| "maximum": 15.0, |
| "bounds_basis": "nonnegative accuracy and v0 dataset-builder maximum" |
| }, |
| "hour_sin": { |
| "unit": "unitless", |
| "reference": "current capture UTC timestamp", |
| "window": "instantaneous", |
| "definition": "sine encoding of UTC hour plus minute", |
| "minimum": -1.0, |
| "maximum": 1.0, |
| "bounds_basis": "trigonometric range" |
| }, |
| "hour_cos": { |
| "unit": "unitless", |
| "reference": "current capture UTC timestamp", |
| "window": "instantaneous", |
| "definition": "cosine encoding of UTC hour plus minute", |
| "minimum": -1.0, |
| "maximum": 1.0, |
| "bounds_basis": "trigonometric range" |
| }, |
| "dow_sin": { |
| "unit": "unitless", |
| "reference": "current capture UTC timestamp", |
| "window": "instantaneous", |
| "definition": "sine encoding of Python weekday where Monday is 0", |
| "minimum": -1.0, |
| "maximum": 1.0, |
| "bounds_basis": "trigonometric range" |
| }, |
| "dow_cos": { |
| "unit": "unitless", |
| "reference": "current capture UTC timestamp", |
| "window": "instantaneous", |
| "definition": "cosine encoding of Python weekday where Monday is 0", |
| "minimum": -1.0, |
| "maximum": 1.0, |
| "bounds_basis": "trigonometric range" |
| } |
| }, |
| "unit_circle_pairs": [ |
| [ |
| "heading_sin", |
| "heading_cos" |
| ], |
| [ |
| "hour_sin", |
| "hour_cos" |
| ], |
| [ |
| "dow_sin", |
| "dow_cos" |
| ] |
| ], |
| "unit_circle_norm_tolerance": 0.02, |
| "normalization": { |
| "source_split": "train", |
| "source_example_count": 55711, |
| "standard_deviation": "population_ddof_0", |
| "missing_value_imputation_used": false, |
| "arithmetic": "parse as float64, subtract float32 training mean, divide by float32 training standard deviation, then cast to float32", |
| "mean": [ |
| 5.1570844650268555, |
| 5.055907726287842, |
| 0.005347144324332476, |
| -0.7335137724876404, |
| -0.03728550672531128, |
| -0.01271896529942751, |
| 0.08169970661401749, |
| 4.2314910888671875, |
| -0.2427283227443695, |
| 0.6515114307403564, |
| 0.08530019223690033, |
| -0.07634009420871735 |
| ], |
| "std": [ |
| 5.041778087615967, |
| 5.1640753746032715, |
| 0.16992051899433136, |
| 34.073089599609375, |
| 1.736711025238037, |
| 0.6867451071739197, |
| 0.7221804261207581, |
| 1.9923152923583984, |
| 0.6107164621353149, |
| 0.3790002763271332, |
| 0.6974503397941589, |
| 0.7074313163757324 |
| ] |
| } |
| }, |
| "architecture": { |
| "encoder": "torchvision.efficientnet_b0", |
| "encoder_initialization": "EfficientNet_B0_Weights.IMAGENET1K_V1 during training; weights are included in the checkpoint", |
| "encoder_training": "frozen", |
| "encoder_feature_dim": 1280, |
| "temporal": "LayerNorm(1280) then one-layer unidirectional GRU(1280, 256)", |
| "telemetry_head": "LayerNorm(12), Linear(12,96), GELU, Dropout(0.25), Linear(96,96), GELU", |
| "classifier": "concatenate 256+96, LayerNorm(352), Linear(352,256), GELU, Dropout(0.25), Linear(256,5)", |
| "head_config": { |
| "image_feature_dim": 1280, |
| "telemetry_dim": 12, |
| "num_classes": 5, |
| "hidden_dim": 256, |
| "dropout": 0.25 |
| } |
| }, |
| "calibration": { |
| "method": "temperature_scaling", |
| "temperature": 1.106177568435669, |
| "fit_split": "validation_after_restoring_best_epoch_4", |
| "independent_calibration_split": false |
| }, |
| "abstention": { |
| "default_threshold": 0.45, |
| "rule": "abstain only when maximum calibrated probability is strictly below the threshold", |
| "predicted_label_when_abstained": null |
| }, |
| "checkpoint": { |
| "file": "model.safetensors", |
| "sha256": "af1a98cd96bb68d642f7a0adeedfacac37b230917afc15f3c87230a99a15b8a2", |
| "bytes": 21384748, |
| "parameter_count": 5294233, |
| "state_tensor_count": 376, |
| "state_numel": 5336298, |
| "state_dtypes": { |
| "torch.float32": 327, |
| "torch.int64": 49 |
| }, |
| "source_checkpoint_sha256": "0cb9c71d5be8f7671029e459c24179863ae2abff3ccfec1b5837c169d7d6c703" |
| }, |
| "warnings": [ |
| "research model; not a safety-certified vehicle-control system", |
| "validate performance and calibration for the intended domain before use" |
| ], |
| "training": { |
| "manifest_sha256": "8b92ad563892776cc25148f39fec6bf207e1e442c618b58fb07af7e2b899364d", |
| "split_sha256": "bfc5e960c8af32d0ea75a5e293bb95b3125111ace2cf8452eb42feb4bc2a1a5e", |
| "samples": 74680, |
| "routes": 36, |
| "split_samples": { |
| "train": 55711, |
| "validation": 10375, |
| "test": 8594 |
| }, |
| "split_routes": { |
| "train": 26, |
| "validation": 5, |
| "test": 5 |
| }, |
| "seed": 20260726, |
| "epochs_completed": 8, |
| "best_validation_macro_f1": 0.37644976936491265, |
| "causal_input_policy": "When past-to-current displacement is below 4 m, encode unknown current heading as sin=0 and cos=1. No future bearing is used.", |
| "future_derived_model_inputs": 0 |
| }, |
| "evaluation": { |
| "artifact": "evaluation.json", |
| "checkpoint_specific": true, |
| "primary_metric": "macro_f1", |
| "test_samples": 8594, |
| "test_routes": 5, |
| "macro_f1": 0.3915542657655546, |
| "macro_f1_route_ci_95": [ |
| 0.34762239048615595, |
| 0.42805096076291543 |
| ], |
| "balanced_accuracy": 0.39156334041323, |
| "accuracy": 0.5755178031184547, |
| "ece_15_bin": 0.011817411647322817 |
| } |
| } |
|
|