{ "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 } }