neuralbench.main.Experiment¶
- pydantic model neuralbench.main.Experiment[source][source]¶
Brain-modeling experiment with support for loading pretrained weights.
- Fields:
brain_model_config (neuraltrain.models.base.BaseModelConfig)downstream_model_wrapper (neuralbench.modules.DownstreamWrapper | None)lightning_optimizer_config (neuraltrain.optimizers.base.LightningOptimizer)test_full_metrics (list[neuraltrain.metrics.base.BaseMetric])test_full_retrieval_metrics (list[neuraltrain.metrics.base.BaseMetric])
- field target_scaler: StandardScaler | None = None[source]¶
- field brain_model_config: BaseModelConfig [Required][source]¶
- field downstream_model_wrapper: DownstreamWrapper | None = None[source]¶
- field trainer_config: TrainerConfig [Required][source]¶
- field lightning_optimizer_config: LightningOptimizer [Required][source]¶
- field metrics: list[BaseMetric] [Required][source]¶
- field test_full_metrics: list[BaseMetric] = [][source]¶
- field test_full_retrieval_metrics: list[BaseMetric] = [][source]¶
- field csv_config: CsvLoggerConfig | None = None[source]¶
- field wandb_config: WandbLoggerConfig | None = None[source]¶
- prepare_pl_module(train_loader: DataLoader, val_loader: DataLoader | None = None) None[source][source]¶
- fit(trainer: Trainer, train_loader: DataLoader, valid_loader: DataLoader) None[source][source]¶
- setup_wandb_logger(wandb_config: WandbLoggerConfig, savedir: str) WandbLogger[source][source]¶
Setup wandb logger and launch initialization.
- property run: dict[str, Any][source]¶
setup, train, test, cleanup.
Returns a dict of test metrics (e.g.
{"test/bal_acc": 0.85, ...}) plusn_total_paramsandn_trainable_params.- Type:
Execute the full experiment lifecycle
- test_predictions() dict[str, Any][source][source]¶
Raw per-window test predictions.
Requires
save_test_predictions=True. Returns a dict with:"metadata": apandas.DataFramewith one row per test window (timeline,batch_idx,dataloader_idx, plussubject_idand a retrievalgrouplabel when available);"y_true"/"y_pred": arrays of shape(n_windows, ...)aligned withmetadata, concatenated across batches.
WindowPredictionCollectorstreams the predictions to the uid folder during the test loop (metadata as CSV, arrays appended to a shared memmap file), so they survive cache hits and are read straight from disk. This is a read-only accessor: callrun()first (a cache hit is fine); if the artifacts are missing it raises rather than launching a run. The per-batch array chunks are concatenated on read, so loading materializes the full arrays in RAM.