导入数据
tf.data.Dataset
属性
属性 |
描述 |
output_classes |
返回数据集中每个元素的每个组成部分的类名 |
output_shapes |
返回数据集中每个元素的每个组成部分的形状 |
output_types |
返回数据集中每个元素的每个组成部分的数据类型 |
方法
创建数据集
方法 |
描述 |
from_tensor_slices(tensors) |
建立给定tensors的数据集,多个元素,该数据集嵌入在图中,适用于小数据集(小于1G),更大的数据集操作 |
from_tensors(tensors) |
同上,但针对单个元素 |
基于数据集上的变换
方法 |
描述 |
map(map_func,num_parallel_calls=None) |
对数据集中的每个元素执行map_func操作 |
shuffle(buffer_size,seed=None,reshuffle_each_iteration=None) |
随机抽取元素 |
batch(batch_size,drop_remainder=False) |
设置batch的大小 |
repeat(count=None) |
将数据集重复几次,默认为无限循环 |
zip(datasets) |
datasets 元组,将多个数据集合并 |
创建迭代器
方法 |
描述 |
make_initializable_iterator(shared_name=None) |
创建一个未初始化的iterator |
make_one_shot_iterator() |
创建一个已经自动初始化的iterator, 每次只返回单个元素 |
tf.data.Iterator
属性
属性 |
描述 |
initializer |
返回初始化迭代器的操作 |
output_classes |
返回数据集中每个元素的每个组成部分的类名 |
output_shapes |
返回数据集中每个元素的每个组成部分的形状 |
output_types |
返回数据集中每个元素的每个组成部分的数据类型 |
方法
创建迭代器
方法 |
描述 |
from_string_handle(string_handle,output_types) |
基于给定的句柄创建一个未初始化的迭代器 |
from_structure(output_types) |
基于给定的结构创建一个未初始化的迭代器 |
注: from_structure可以不同的数据集进行复用(reusable,Iterator.make_initializer(dataset)重新初始化,from_string_handle “feedable” iterator 。
区别:
常用方法
方法 |
描述 |
get_next(name=None) |
返回下一个数据集中的元素 |
make_initializer(dataset,name=None) |
返回通过指定的dataset初始化iterator的操作 |
string_handle(name=None) |
返回代表迭代器的string |
注:make_initializer 与 from_structure 连用, string_handle与from_string_handle连用。get_next抵达数据集最后一个元素会有tf.errors.OutOfRangeError错误
。
References
- tf.data.Dataset
- tf.data.Iterator
Last updated: