#数据集
深度学习训练需要大量的数据, 一个训练需要的数据可以到达几十T的规模, 数据集的作用是以便利的方式给深度学习训练提供数据.
用户可以从两个角度理解数据集:
-
狭义:数据集是深度学习训练框架需要的特定格式的输入数据, 比如格式化的 RecordIO, LMDB 等;
-
广义:数据集是所有提供给训练的数据, 包括互联网上的原图数据集, 上面所说的 RecordIO 格式数据, 还有存储在七牛或其他厂商的对象存储等.
AVA 平台数据集管理对数据进行一定的处理后, 以标准文件系统的形式向深度学习训练提供输入, 包括原图格式和格式化的形式. 常见的处理提供数据集的方式有如下几种:
-
用户本存储在内部存储集群, 比如 CEPH 中的数据, AVA 可以把数据挂载到训练容器的文件系统中, 供训练直接使用;
-
存储在七牛云对象存储或者其他厂商 (比如 AWS S3) 对象存储的数据, AVA提供转换协议, 训练可以文件系统协议访问对象存储;
-
互联网上以 URL 标志的数据.用户可以提供 JSON 文件, 其中每条记录是一个文件 URL, AVA 会将数据拉取下来, 并挂载到训练容器中;
-
对一些框架需要的标准形式, AVA 可以把数据格式化为对应格式的文件, 供训练使用, 比如 RecordIO, LMDB 等;
-
如果用户提供的数据带有标签, 则 AVA 除了把数据格式化为一定格式外, 还可以划分为训练集和验证集、测试集, 供训练使用;
-
不同用户间的数据集还可以共享, 分为组内共享和全局共享;
-
对于常用的训练数据, 比如 CIFAR, IMAGENET 等, AVA提供了公开的共享数据集, 所有用户都可以访问, 省去重复创建数据集的代价.
用户可在后续教程中学习如何通过AVA平台管理数据集:5.1 数据集管理