生成的数据集有两列:[image,label]。image列的数据类型为uint8。label列的数据类型为string。
样例:
>>>importmindspore.datasetasds>>>food101_dataset_dir="/path/to/food101_dataset_directory">>>>>>#Read3samplesfromFood101dataset>>>dataset=ds.Food101Dataset(dataset_dir=food101_dataset_dir,num_samples=3)教程样例:说明
入参num_samples、shuffle、num_shards、shard_id可用于控制数据集所使用的采样器,其与入参sampler搭配使用的效果如下。
参数sampler
参数num_shards/shard_id
参数shuffle
参数num_samples
使用的采样器
mindspore.dataset.Sampler类型
None
sampler
numpy.ndarray,list,tuple,int类型
/
num_samples
SubsetSampler(indices=sampler,num_samples=num_samples)
iterable类型
IterSampler(sampler=sampler,num_samples=num_samples)
num_shards/shard_id
None/True
DistributedSampler(num_shards=num_shards,shard_id=shard_id,shuffle=True,num_samples=num_samples)
False
DistributedSampler(num_shards=num_shards,shard_id=shard_id,shuffle=False,num_samples=num_samples)
RandomSampler(num_samples=num_samples)
RandomSampler(replacement=True,num_samples=num_samples)
SequentialSampler(num_samples=num_samples)
关于Food101数据集:
Food101是一个包含101种食品类别的数据集,共101000张图片。每一个类别有250张测试图片和750张训练图片。所有图像都被重新缩放,最大边长为512像素。
以下为原始Food101数据集的结构,您可以将数据集文件解压得到如下的文件结构,并通过MindSpore的API进行读取。
.└──food101_dir├──images│├──apple_pie││├──1005649.jpg││├──1014775.jpg││├──...│├──baby_back_rips││├──1005293.jpg││├──1007102.jpg││├──...│└──...└──meta├──train.txt├──test.txt├──classes.txt├──train.json├──test.json└──train.txt引用:
对数据集对象执行给定操作函数。
对传入的多个数据集对象进行拼接操作。
通过自定义判断条件对数据集对象中的数据进行过滤。
对数据集对象中每一条数据执行给定的数据处理,并将结果展平。
给定一组数据增强列表,按顺序将数据增强作用在数据集对象上。
从数据集对象中选择需要的列,并按给定的列名的顺序进行排序。
对数据集对象按指定的列名进行重命名。
重复此数据集count次。
重置下一个epoch的数据集对象。
将数据处理管道中正处理的数据保存为通用的数据集格式。
通过创建buffer_size大小的缓存来混洗该数据集。
跳过此数据集对象的前count条数据。
将数据集拆分为多个不重叠的子数据集。
截取数据集的前指定条数据。
将多个dataset对象按列进行合并压缩,多个dataset对象不能有相同的列名。
将数据集中连续batch_size条数据组合为一个批数据,并可通过可选参数per_batch_map指定组合前要进行的预处理操作。
根据数据的长度进行分桶。
将数据集中连续batch_size条数据组合为一个批数据,并可通过可选参数pad_info预先将样本补齐。
创建数据集迭代器,返回字典形式的样本,其中键为列名,值为数据。
创建数据集迭代器,返回列表形式的样本,其中的元素为各列数据。
获得数据集对象定义的批处理大小,即一个批处理数据中包含的数据条数。
获取类别名称到类别索引的映射字典。
返回数据集对象中包含的列名。
返回一个epoch中的batch数。
获取RepeatDataset中定义的repeat操作的次数。
获取/设置数据列索引,它表示使用下沉模式时数据列映射至网络中的对应关系。
获取数据集对象中所有样本的类别数目。
获取数据集对象中每列数据的shape。
获取数据集对象中每列数据的数据类型。
为当前数据集添加子采样器。
替换当前数据集的最末子采样器,保持父采样器不变。
释放阻塞条件并使用给定数据触发回调函数。
为同步操作在数据集对象上添加阻塞条件。
将数据处理管道序列化为JSON字符串,如果提供了文件名,则转储到文件中。