APP下载

AWS发布PyTorch用S3扩充套件,让用户直接串流S3资料训练模型

消息来源:baojiabao.com 作者: 发布时间:2024-11-29

报价宝综合消息AWS发布PyTorch用S3扩充套件,让用户直接串流S3资料训练模型

为了简化用户使用深度学习框架PyTorch,取用训练资料的复杂度,AWS释出适用于PyTorch的Amazon S3扩充套件,这是一个开源函式库,让PyTorch程式能够从S3储存服务串流资料,因此开发者就可以在AWS的PyTorch深度学习容器中,使用S3储存桶中的资料以及资料载入API,而不需要先把训练资料载入到本地储存中。

AWS提到,这个适用于PyTorch的S3扩充套件,目的是要作为高效能PyTorch资料集函式库,以低延迟提供高吞吐量,让PyTorch程式能够高效能存取S3储存桶中的资料,对任何大小的资料进行串流存取,而这也消除配置本地端容量储存资料集的需求。

该扩充套件提供了一种从S3平行传输资料的方法,开发者不需要担心执行绪安全或是S3多连接,此外,开发者也可以从.zip或.tar档案串流资料,并根据需要在分片内或是跨分片切换资料集,官方提到,之所以该扩充套件能够与PyTorch程式码库无缝协作,是因为其所提供的S3Dataset和S3IterarableDataset,是PyTorch内部Dataset和IterableDataset界面的实作,因此开发者不需要改变现有程式码,就能够转而与S3搭配使用。

而且该函式库无关于档案格式,能够将S3中的物件以二进制缓冲区(Blob)呈现,因此可以转换接受自S3的各种资料,同时还能扩展S3Dataset或S3IterableDataset以使用来自S3的资料,或是按需求额外处理资料。适用于PyTorch的S3扩充套件支援Map形式和迭代形式的资料集界面,也就是说,开发者除了能够以索引或是键值存取资料之外,也能够以低成本迭代存取批次资料。

AWS提到,使用这个新的扩充套件,并不会增加原有程式码的复杂度,其仰赖AWS SDK,并使用底层AWS_SDK_CPP套件中的TransferManager API和S3沟通,提供高吞吐量和可靠性,该套件还使用Pybind11来打包C++函式,使其可用作为PyTorch资料集结构。用户现在已经可以透过预配置的PyTorch Docker映像档取用扩充套件,或是直接从GitHub储存库中下载。

2021-09-10 11:46:00

相关文章