PILArNetParquetIterableDataset#
- class PILArNetParquetIterableDataset(repo_id: str | None = 'DeepLearnPhysics/PILArNet-M-mini', data_root: str | None = None, split='train', transform=None, revision: Literal['v1', 'v2', 'v3'] = 'v2', parquet_revision: str = 'refs/convert/parquet', config_name: str = 'default', energy_threshold=0.0, min_points=1024, max_len=-1, remove_low_energy_scatters=False, old_pid_mapping=False, shuffle=True, shuffle_buffer_size=1000, seed=0, loop=1, ignore_index=-1, test_mode=False, test_cfg=None)[source]#
Bases:
IterableDatasetStreaming PILArNet reader for large-scale pretraining.
Streams parquet shards sequentially (no random single-row seeks – the access pattern parallel/network filesystems reward) and approximates a full shuffle with shard-order shuffling plus a reservoir
buffer_sizebuffer. Shards are split across DDP ranks (split_dataset_by_node) and DataLoader workers automatically. Emits the samedata_dictdictionaries as the map-style reader via the shareddecode_event().Note
This is a PyTorch
IterableDataset– wiring it into pimm’s training engine (which currently assumes map-style datasets with samplers/length) is a separate integration step and has not yet been exercised end to end.- Parameters:
shuffle (bool) – Enable buffer + shard-order shuffle. Defaults to
True.shuffle_buffer_size (int) – Reservoir buffer size for streaming shuffle. Defaults to
1000.seed (int) – Base shuffle seed. Defaults to
0.
See
PILArNetParquetDatasetfor the shared loading/decoding args.