{ "schema_version": "1.0", "model": { "framework": "pytorch", "class": "ResNetSimCLR", "backbone": "resnet18", "input_shape": [ 3, 224, 224 ], "backbone_representation_dim": 512, "projection_dim": 128, "projection_head": [ { "type": "Linear", "in_features": 512, "out_features": 512 }, { "type": "ReLU" }, { "type": "Linear", "in_features": 512, "out_features": 128 } ], "name": "VEDB-SimCLR-ResNet18-Baseline" }, "checkpoint": { "format": "pytorch_checkpoint", "epoch": 120, "state_dict_key": "state_dict", "state_dict_entries": 124, "contains_optimizer_state": true, "strict_load_verified": true, "filename": "simclr_resnet18_baseline_epoch120.pth.tar" }, "data": { "dataset": "Visual Experience Dataset (VEDB)", "retained_sessions": 514, "total_rows": 433564, "splits": { "train": { "sessions": 455, "rows": 377462 }, "validation": { "sessions": 28, "rows": 26026 }, "test": { "sessions": 31, "rows": 30076 } }, "simclr_pretraining_split": [ "train" ], "simclr_pretraining_rows": 377462, "split_unit": "video_session", "require_ok": true }, "training": { "epochs": 120, "batch_size": 512, "optimizer": { "name": "Adam", "learning_rate": 0.0006, "weight_decay": 0.0001 }, "objective": { "name": "NT-Xent", "implementation": "InfoNCE-style logits with CrossEntropyLoss", "temperature": 0.07, "n_views": 2, "feature_normalization": "L2", "similarity": "dot_product" }, "mixed_precision": { "enabled": true, "implementation": "torch.cuda.amp", "gradient_scaling": true }, "scheduler": { "name": "CosineAnnealingLR", "t_max": "len(train_loader)", "eta_min": 0.0, "step_unit": "epoch", "step_start_epoch_index": 10, "implementation_note": "T_max was defined as len(train_loader) while scheduler.step() was called once per epoch." } }, "runtime_augmentations": { "backend": "kornia", "device": "gpu", "random_resized_crop": { "size": [ 224, 224 ], "scale": [ 0.08, 1.0 ], "ratio": [ 0.75, 1.3333333333333333 ], "p": 1.0 }, "random_horizontal_flip": { "p": 0.5 }, "color_jitter": { "brightness": 0.8, "contrast": 0.8, "saturation": 0.8, "hue": 0.2, "p": 0.8 }, "random_grayscale": { "p": 0.2 }, "gaussian_blur": { "kernel_size": [ 23, 23 ], "sigma": [ 0.1, 2.0 ], "p": 1.0 }, "normalization": { "mean": [ 0.485, 0.456, 0.406 ], "std": [ 0.229, 0.224, 0.225 ] } }, "dataloader": { "workers": 8, "multiprocessing_context": "spawn", "pin_memory": true, "persistent_workers": true, "prefetch_factor": 4, "timeout_seconds": 0, "shuffle": true, "drop_last": true }, "sample_error_handling": { "max_bad_sample_retries": 10, "fallback_rgb": [ 127, 127, 127 ] }, "reproducibility": { "torch_manual_seed": 0, "cli_seed": null, "fully_deterministic": false }, "publication": { "title": "Eccentricity-Constrained CNN Training Reveals Adaptive Information Coding Around the Visual Field", "authors": [ "Dylan M. Diaz", "Margaret M. Henderson" ], "year": 2026, "doi": "10.32470/0416gfsq", "arxiv": "2607.19316" }, "provenance": { "technical_metadata_verified_against": [ "released_checkpoint", "original_training_code", "cluster_launch_script", "offline_preprocessing_specification" ], "precedence_note": "For technical details of the released model artifact, this config and the associated Hugging Face model card reflect post-publication verification against the released checkpoint and original implementation. Where a technical implementation detail differs from the paper, the verified model artifact documentation should be used to reproduce the released checkpoint." }, "condition": { "name": "baseline", "description": "Full-field VEDB imagery without an eccentricity-specific restriction.", "gaze_contingent": false, "offline_preprocessing": { "common": [ "decode sampled video frame", "convert to RGB", "bicubic resize to 256 px", "center crop to 224 x 224" ], "condition_specific": [] } } }