TorchData(请注意下面关于当前状态的说明)
什么是TorchData? | 有状态的DataLoader | 安装指南 | 贡献 | 许可证
:warning: 2024年6月状态更新:移除DataPipes和DataLoader V2
我们正在重新聚焦torchdata仓库,使其成为torch.utils.data.DataLoader的迭代增强版。我们不打算继续开发或维护[DataPipes
]和[DataLoaderV2
]解决方案,它们将从torchdata仓库中移除。我们还将重新审视pytorch/pytorch中的DataPipes
引用。在torchdata==0.8.0
版本(2024年7月)中,它们将被标记为已弃用,而在0.9.0版本(2024年10月)中将被删除。建议现有用户固定使用torchdata==0.8.0
或更早版本,直到能够迁移。后续版本将不包含DataPipes或DataLoaderV2。此README的旧版本可在此处获取。如果您有建议或意见,请联系我们(请在#1196中提供反馈)。
什么是TorchData?
TorchData项目是对PyTorch torch.utils.data.DataLoader和torch.utils.data.Dataset/IterableDataset的迭代增强,旨在使它们成为可扩展、高性能的数据加载解决方案。我们将在torchdata仓库中迭代这些增强功能。
我们的第一个改变始于为torch.utils.data.DataLoader添加检查点功能,这可以在stateful_dataloader,torch.utils.data.DataLoader的直接替代品中找到。通过定义load_state_dict
和state_dict
方法,实现了中期检查点功能,并为用户提供了跟踪自定义迭代进度的API,以及从dataloader工作进程跟踪其他自定义状态(如令牌缓冲区和/或RNG状态)的能力。
有状态的DataLoader
torchdata.stateful_dataloader.StatefulDataLoader
是torch.utils.data.DataLoader的直接替代品,它提供了state_dict和load_state_dict功能。更多信息和示例请参见有状态DataLoader主页。另外,请查看此Colab笔记本中的示例。
安装
版本兼容性
以下是相应的torchdata
版本和支持的Python版本。
torch | torchdata | python |
---|---|---|
master / nightly | main / nightly | >=3.8 , <=3.12 |
2.4.0 | 0.8.0 | >=3.8 , <=3.12 |
2.0.0 | 0.6.0 | >=3.8 , <=3.11 |
1.13.1 | 0.5.1 | >=3.7 , <=3.10 |
1.12.1 | 0.4.1 | >=3.7 , <=3.10 |
1.12.0 | 0.4.0 | >=3.7 , <=3.10 |
1.11.0 | 0.3.0 | >=3.7 , <=3.10 |
本地pip或conda安装
首先,设置环境。我们将安装PyTorch二进制文件以及torchdata。如果您使用conda,创建一个conda环境:
conda create --name torchdata
conda activate torchdata
如果您希望使用venv
:
python -m venv torchdata-env
source torchdata-env/bin/activate
安装torchdata:
使用pip:
pip install torchdata
使用conda:
conda install -c pytorch torchdata
从源代码安装
pip install .
如果从源代码构建TorchData失败,请按照贡献页面上的链接指南安装PyTorch的每日构建版本。
从每日构建版本安装
TorchData的每日构建版本也提供,每天从main分支更新。
使用pip:
pip install --pre torchdata --extra-index-url https://download.pytorch.org/whl/nightly/cpu
使用conda:
conda install torchdata -c pytorch-nightly
贡献
我们欢迎PR!请参阅CONTRIBUTING文件。
Beta使用和反馈
我们很乐意听取并与早期采用者合作,以塑造我们的设计。如果您有兴趣将这些工具用于您的项目,请通过提出问题来联系我们。
许可证
TorchData采用BSD许可证,详见LICENSE文件。