Tensorflow如何实现分批量高效读取数据流?

2026-06-11 04:290阅读0评论SEO基础
  • 内容介绍
  • 相关推荐

本文共计652个文字,预计阅读时间需要3分钟。

Tensorflow如何实现分批量高效读取数据流?

在之前的博客中,使用tf读取数据时,每次都是通过fetch一条条记录。实际上,大部分时间需要fetch到一个小批量数据。在tf中,这种操作的明显变化体现在tensor的rank上。我目前使用的是人脸数据。

之前的博客里使用tf读取数据都是每次fetch一条记录,实际上大部分时候需要fetch到一个batch的小批量数据,在tf中这一操作的明显变化就是tensor的rank发生了变化,我目前使用的人脸数据集是灰度图像,因此大小是92*112的,所以最开始fetch拿到的图像数据集经过reshape之后就是一个rank为2的tensor,大小是92*112的(如果考虑通道,也可以reshape为rank为3的,即92*112*1)。

Tensorflow如何实现分批量高效读取数据流?

如果加入batch,比如batch大小为5,那么拿到的tensor的rank就变成了3,大小为5*92*112。

下面规则化的写一下读取数据的一般流程,按照官网的实例,一般把读取数据拆分成两个大部分,一个是函数专门负责读取数据和解码数据,一个函数则负责生产batch。

阅读全文

本文共计652个文字,预计阅读时间需要3分钟。

Tensorflow如何实现分批量高效读取数据流?

在之前的博客中,使用tf读取数据时,每次都是通过fetch一条条记录。实际上,大部分时间需要fetch到一个小批量数据。在tf中,这种操作的明显变化体现在tensor的rank上。我目前使用的是人脸数据。

之前的博客里使用tf读取数据都是每次fetch一条记录,实际上大部分时候需要fetch到一个batch的小批量数据,在tf中这一操作的明显变化就是tensor的rank发生了变化,我目前使用的人脸数据集是灰度图像,因此大小是92*112的,所以最开始fetch拿到的图像数据集经过reshape之后就是一个rank为2的tensor,大小是92*112的(如果考虑通道,也可以reshape为rank为3的,即92*112*1)。

Tensorflow如何实现分批量高效读取数据流?

如果加入batch,比如batch大小为5,那么拿到的tensor的rank就变成了3,大小为5*92*112。

下面规则化的写一下读取数据的一般流程,按照官网的实例,一般把读取数据拆分成两个大部分,一个是函数专门负责读取数据和解码数据,一个函数则负责生产batch。

阅读全文