Skip to content
SynthGraph
How it works

Eight steps, one record.

A provenance record is built up in the order the research happens. Nothing here asks you to change how you generate data or how you train — only to write down what you did while you still know it.

  1. 01

    Instrument

    Add the SDK to the code you already run. The generator, the training script and the evaluation stay where they are; the calls around them record what happened.

    • client.projects.create
    • client.experiments.create
    • code version captured
  2. 02

    Generate

    When a generation runs, the generator and its version, the parameters, the seed and the referenced asset versions are written down as a record — before the result exists.

    • generator: blender 4.2.0
    • seed: 42
    • occlusion: 0.30
  3. 03

    Version

    The output is registered as a DatasetVersion: a specific version of a logical dataset, identified by reference rather than by folder name. The data itself does not move.

    • rain_dataset:v7
    • s3://research/rain-v7
    • 24,000 frames
  4. 04

    Train

    A training run records its configuration and the exact dataset versions it consumed, so the link between the model and the data that produced it is explicit.

    • YOLO · PyTorch
    • 50 epochs
    • inputs: rain_dataset:v7
  5. 05

    Evaluate

    Evaluation results attach to the run that produced them. A metric is never a loose number — it carries its whole upstream chain with it.

    • mAP 0.724
    • precision 0.78
    • recall 0.69
  6. 06

    Trace

    From any record you can walk the graph in either direction: back from a metric to the parameters that produced it, or forward from a generation to everything that used it.

    • upstream: parameters, assets, code
    • downstream: runs, results
  7. 07

    Compare

    Two experiments align field by field. The differences in configuration and the differences in result are visible together — which is not the same as one explaining the other.

    • occlusion 0.30 → 0.45
    • dataset v7 → v8
    • mAP 0.724 → 0.748

    EXP-00142 vs EXP-00131

    Illustrative comparison of two experiments
    GeneratorBlender 4.2Blender 4.2
    Seed4242
    Weatherrainrain
    Occlusion0.300.45
    Camera distance1212
    Datasetrain_dataset:v7rain_dataset:v8
    Asset: vehicle-modelv7v7
    Epochs5050
    mAP0.7240.748
  8. 08

    Reproduce

    A reproduction manifest gathers what was recorded and states what was not. Missing external dependencies are listed rather than assumed away.

    • recorded configuration
    • external references
    • known gaps
    manifest.json
    {  "generation": {    "generator": "blender",    "version": "4.2.0",    "seed": 42,    "parameters": {      "weather": "rain",      "occlusion": 0.30,      "camera_distance": 12    }  },  "assets": [    { "name": "vehicle-model", "version": "v7" },    { "name": "forest-texture", "version": "v4" }  ],  "dataset": {    "version": "v7",    "uri": "s3://research/rain-v7",    "checksum": "sha256:9c1f…e40b"  },  "code": {    "commit": "8f3a2b1",    "branch": "rain-sweep"  },  "missing": [    "external CUDA environment",    "GPU driver version"  ]}

Illustrative data. Shown to explain the provenance model, not a benchmark or customer result.

Private research pilot

Your next experiment should leave a trail.

SynthGraph is currently available through a limited research pilot. Request a demo to see how provenance fits into your existing workflow.

SynthGraph is being developed with a small number of research workflows before broader access.