掌握一个深度学习框架的用法,从训练一个模型的流程来看,需要掌握以下几个步骤:
- 数据的处理,包括训练数据转成网络的输入,模型参数的存储与读取
- 网络结构的定义,包括网络主体的搭建以及loss的定义
- solver的定义,也就是如何对网络进行优化
- 模型评估的定义,也就是对模型训练结果进行评测
这篇博文主要介绍第一部分,数据处理中的训练数据读取部分
tensorflow当中读取数据的方式一共有三种:
- 供给数据(feeding):在定义graph的时候,可以用placeholder来表示其中的某些节点,在运行的时候,通过向这些节点填入数据来运行整个graph
- 预加载数据:仅仅适用于可以完全加载到存储器中的小的数据集
- 从文件中加载数据:在图运行的时候,通过一个pipeline从文件中读取数据,作为网络的输入
前面两种方法并不适用于平时的大数据集处理的情况,因此这里我只介绍第三种方法:从文件中加载数据,重点介绍通过tensorflow特有的tfrecords进行存储和读取的方法
引用博主:
https://blog.csdn.net/Touch_Dream/article/details/80912002