Zendo Synthetic Visual Reasoning Dataset
Synthetic Zendo-style scenes with associated rules and per-scene tensor representations. Each scene either follows ("positive", label=1) or violates ("negative", label=0) a rule that is given in natural language and as a Prolog query.
Splits
| split | scenes |
|---|---|
| train | 56475 |
| test | 3344 |
| rules total | 3439 |
Layout
images/<split>/<batch>/<rule_id>/<scene_id>.png— rendered scenetensors/<split>/<batch>/<rule_id>/<scene_id>.pt— pre-computed scene tensormetadata/scenes_train.parquet,metadata/scenes_test.parquet— main tables (one row per scene, withimage_path,tensor_path,label,rule_nl,rule_query)metadata/rules.parquet— one row per(batch, rule_id)withrule_nl,query_pos,query_neg
Loading
from datasets import load_dataset
ds = load_dataset("ss567uhg/zendo-synthetic-data")
ds["train"][0]
Tensors are not auto-loaded by datasets; load them via:
import torch
scene = ds["train"][0]
t = torch.load(scene["tensor_path"]) if scene["tensor_path"] else None
Citation
TBD.