使用OSS Connector for AI/ML实现在PyTorch训练任务中访问和存储OSS数据
OSS Connector for AI/ML是一个用于在PyTorch训练任务中高效访问和存储OSS数据的Python库。
功能优势
对比项 | 不使用OSS Connector for AI/ML | 使用OSS Connector for AI/ML |
性能 | 手动优化性能,效率可能低下 | 自动优化OSS数据下载及检查点保存性能 |
数据加载方式 | 需提前下载数据,增加成本和管理负担 | 支持流式加载,降低成本和管理复杂度 |
数据访问 | 通过转接器读写,增加复杂度 | 直接从OSS读写,简化流程 |
配置难度 | 需编写复杂代码管理,配置困难 | 提供简单配置,提高开发效率 |
工作原理
通过OSS Connector for AI/ML使用OSS中的数据进行PyTorch训练的过程如下图所示:
功能特性
OSS Connector for AI/ML主要功能如下表所示:
功能点 | 特性 | 关联类 | 方法 |
映射式数据集 | 适合随机访问,方便在训练过程中快速获取特定数据。 | OssMapDataset与OssIterableDataset所提供方法相同,如下所示:
| |
可迭代式数据集 | 适合流式顺序访问,能够高效地处理大量连续的数据流。 | ||
检查点接口 | 在模型训练时从OSS中加载检查点,并且在周期性模型训练结束后可以直接将检查点保存至OSS。简化了工作流程。 |
|
使用流程
在PyTorch训练任务中访问和存储OSS中的数据之前,您需要安装并配置OSS Connector for AI/ML。具体操作,请参见安装OSS Connector for AI/ML和配置OSS Connector for AI/ML。
安装并配置OSS Connector for AI/ML后,您可以在Pytorch训练任务中:
使用OssMapDataset构建适用于随机读取操作的映射式数据集。具体操作,请参见使用OSS中的数据构建适用于随机读取的映射式数据集。
使用OssIterableDataset构建适用于流式顺序访问的可迭代式数据集。具体操作,请参见使用OSS中的数据构建适用于流式顺序读取的迭代式数据集。
使用OssCheckpoint存储和访问检查点。具体操作,请参见在OSS中存储和访问检查点。
- 说明
OssMapDataset、OssIterableDataset、OssCheckpoint中的数据具有相同的类型,如需了解支持的属性和方法,请参见OSS Connector for AI/ML中的数据类型。
实践教程
如果您想快速学习如何在PyTorch中使用OSS数据进行模型训练,并将训练结果保存至OSS,我们为您提供了一个使用OSS Connector for AI/ML完成手写数字识别模型训练的Demo。详情请参见OSS Connector for AI/ML快速入门。
如果您需要进一步提升OSS Connector for AI/ML的性能,建议您使用OSS加速器域名而不是默认的OSS内网域名。关于使用OSS内网域名与OSS加速器域名之间的OSS Connector for AI/ML性能对比,请参见性能测试。
如果您要在容器环境中使用OSS Connector for AI/ML,您可以使用含有OSS Connector for AI/ML的Docker镜像。如何构建镜像,请参见构建含有OSS Connector for AI/ML环境的Docker镜像。