TensorFlow-Slim Data的解读

        TensorFlow-Slim 提供了为从各种格式中加载数据的库,如:TFRecords Text等。在读取tensorlow tfrecord文件时,可以使用tensorflow直接读取,另外一种方法即使用slim中高级封装读取。

加载数据任务主要完成两个过程:

     1.说明数据怎么表述,这样它能够被读取以及可以被解释

     2.说明怎么为使用者提供数据。我们应该说明数据怎么提供以及怎么存储在内存中。如当数据被多个程序共享,数据是否需要被并行或者串行读入,数据是否需要被打乱。

在TF-slim中数据集的定义:一系列代表有限样本的集合,样本可以是文本文件或者高级编码的文件,或者单个项目多个项目如:图片,类标签,场景标签。简单来说 TF-Slim'dataset 就是一个元组包含如下说明数据的成员:

1.data_sources:A list of file paths that together make up the dataset

2.reader; A TensorFlow Reader appropiate for the file type in data_sources

3.decoder:A TF-Slim data_decoder class whic is used to decode the content of the read dataset files

4.num_samples:The number of samples in the dataset

5. items_to_descriptions:A map from the items provided by the dataset to decriptions of each

总而言之读取数据的过程包括:使用指定的数据读取器打开数据源文件,解码文件使用给定的解码器,使用者获取需要的成员

Dataset为一个类,包括如下几个成员:

    1.数据源列表

    2.阅读器。阅读器能读取数据源,并且能尽量换回被编码的数据

    3.解码器。解码器用来解码阅读器返回的每一个样例。

    4.样例总数量。

    5.可选字典。该字典映射返回项目的列表和这些项目的描述。

数据可以通过slim中的dataset_data_provider从dataset中读取。如下所示:

dataset = CreateMyDataset(...)

provider = dataset_data_provider.DatasetDataProvider(dataset, shuffle=False)
image, label = provider.get(['image', 'label'])

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章