用途:nvalchemi 提供一套可组合的原子数据持久化与加载管线,用于把 AtomicData、Batch 等原子结构数据写入 Zarr 存储,再按需读取并送入训练或基准测试流程。
主要能力:AtomicDataZarrWriter 可将单个 AtomicData、列表或 Batch 序列化到 Zarr;write() 会创建存储且不可重复调用,重复会抛 FileExistsError,追加用 append()。支持 add_custom() 添加自定义数组,delete() 软删除样本,defragment() 重建存储。AtomicDataZarrReader 返回原始 dict[str, Tensor] 与元数据;Dataset 封装 Reader 并构造 AtomicData,支持设备转移、预取和 load_batches() 批量加载;InMemoryDataset 适合可放入主机内存的数据集;DataLoader 按批迭代产生 Batch,支持 shuffle、prefetch_factor、CUDA 流预取等。MultiDataset 可拼接多个数据集,配合 MultiDatasetBatchSampler 做均衡采样。还可通过继承 Reader 支持其他存储格式。
使用方式:从 nvalchemi.data.datapipes 导入相关类,先写后读,典型流程为 writer.write(data_list),再用 AtomicDataZarrReader 与 Dataset、DataLoader 迭代训练。
限制:资料未提供具体性能数据、收费或平台支持信息;write() 不能重复执行,需显式选择 append 或写入新路径;skip_validation 仅建议用于可信存储。