在用tf.contrib.data.Dataset读取数据集数据时,会遇到一个概念/参数: buffer

buffer的含义是缓存

buffer_size的含义是:放入缓存的样本的个数

prefech的缓存与shuffle的缓存是相同的吗?谁是谁的子集吗?还是谁大就以谁为准?

有几点是确定的:tf.contrib.data.Dataset 按顺序从数据集中读取数据放入buffer

shuffle仅仅对buffer中的样本进行打乱,或者随机采样

在训练时,提取的每个batch的数据都是从buffer中提取的,提取之后,tf.contrib.data.Dataset 会继续从本地数据集中读取数据放入buffer,保持buffer中的样本数目不变

prefech创建buffer的好处是,在GPU运行的时候,cpu没闲着,在执行把样本放入缓存的操作

所以先prefech还是先shuffle?先prefech好一些?prefech与shuffle共享的是同一块缓存?二者的buffer_size设置为相等是最好的?

tf.data.Dataset.prefech 应该与 tf.data.Dataset.from_generator搭配使用更好一些
tf.data.Dataset.from_generator可以通过设置生成器,决定以怎样的规则向buffer区填充样本,否则的话,会导致tf.data.Dataset按照数据集固有顺序读取样本进入buffer

参考:buffer_size的含义——Dataset.map , Dataset.prefetch and Dataset.shuffle

tf.data.Dataset.shuffle(buffer_size)中buffer_size的理解

tensorflow数据篇(三)——使用tf.data建立数据通道

tensorflow数据篇(二)——tf.data.Dataset常用函数

tf.data.Dataset图像预处理详解

tf.data.Dataset的一些小坑

tf.contrib.data.Dataset 读取数据的原理--buffer相关推荐

  1. 在pytorch中自定义dataset读取数据2021-1-8学习笔记

    在pytorch中自定义dataset读取数据 utils import os import json import pickle import randomimport matplotlib.pyp ...

  2. TF从文件中读取数据

    从文件中读取数据 在TensorFlow中进行模型训练时,在官网给出的三种读取方式,中最好的文件读取方式就是将利用队列进行文件读取,而且步骤有两步: 把样本数据写入TFRecords二进制文件 从队列 ...

  3. java dataset读取数据,TensorFlow读写数据

    前言 回顾前面: 众所周知,要训练出一个模型,首先我们得有数据.我们第一个例子中,直接使用dataset的api去加载mnist的数据.(minst的数据要么我们是提前下载好,放在对应的目录上,要么就 ...

  4. pytorch dataset读取数据流程_高效 PyTorch :如何消除训练瓶颈

    加入极市专业CV交流群,与 10000+来自港科大.北大.清华.中科院.CMU.腾讯.百度 等名校名企视觉开发者互动交流! 同时提供每月大咖直播分享.真实项目需求对接.干货资讯汇总,行业技术交流.关注 ...

  5. pytorch dataset读取数据流程_10条PyTorch避坑指南

    点击上方"深度学习工坊",选择加"星标" 重磅干货,第一时间送达 本文转载自:机器之心  |  作者:Eugene Khvedchenya 参与:小舟.蛋酱.魔 ...

  6. TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和 tf.data.Dataset机制

    TensorFlow数据读取机制:文件队列 tf.train.slice_input_producer和tf.data.Dataset机制 之前写了一篇博客,关于<Tensorflow生成自己的 ...

  7. Tensorflow读取数据-tf.data.TFRecordDataset

    tensorflow TFRecords文件的生成和读取方法 文章目录 tensorflow TFRecords文件的生成和读取方法 1. TFRecords说明 2.关键API 2.1 tf.io. ...

  8. tensorflow 通过TextLineDataset dataset.map 读取数据

    这样读取数据比较麻烦,因为map是一行行读取,需要自己把数据整理成列的方式.处理起来还是比较麻烦,用decode_csv可以直接把数据处理成列的方式,简单很多. import tensorflow a ...

  9. TensorFlow 2.0 - tf.data.Dataset 数据预处理 猫狗分类

    文章目录 1 tf.data.Dataset.from_tensor_slices() 数据集建立 2. Dataset.map(f) 数据集预处理 3. Dataset.prefetch() 并行处 ...

最新文章

  1. Invalid bound statement (not found) 解决方案
  2. python连接mongo数据库
  3. Docker系列之一:入门介绍
  4. java中swing循环_在Java游戏循环中使用“ SwingUtilities.invokeLa...
  5. 装饰器python3 默认_python3【基础】-装饰器
  6. 基于React的AmazeUI-touch使用(如何使用react)
  7. sendkeys安装包_利用Windows命令行解压zip压缩文件(不借助第三方软件)
  8. PMP考试的打分标准是怎样的?
  9. 基于MATLAB 的X-CT图像重建计算机仿真实验研究实验
  10. python2/3 opencv的fitline函数
  11. ftp服务器下载,绿色版ftp服务器下载,以及ftp上传工具使用指南
  12. 解决移动硬盘符丢失不显示的问题
  13. 德国精品软件 小红伞杀毒软件 AntiVir
  14. mysql server安装服务器_MySQL安装
  15. ATEC | 蚂蚁金服技术出海,如何让人人享有平等的金融服务?
  16. Bios工程师手边事—ACPI电源管理
  17. 5000元性价比高的笔记本_5000元左右的笔记本电脑哪个性价比高推荐
  18. PDMS项目管理-创建项目-Admin模块
  19. node.js学习day03 通过node.js连接数据库实现增删改查
  20. ueditor百度编辑器工具栏乱码

热门文章

  1. 前轮转向最大角度设计原来_五桥转向故障
  2. idea如何删除java里面工程_IntelliJ IDEA 如何彻底删除项目的步骤
  3. oracle100多g满了,Oracle11g ORA-00257归档日志满问题处理
  4. 正则分割 oracle,Oracle通过正则表达式分割字符串 REGEXP_SUBSTR
  5. mysql update 几万 非常慢_Mysql优化专题
  6. python 平方根_数的Python平方根
  7. pytorch入门_PyTorch入门
  8. 动量投资组合构建_如何创建吸引合适类型客户的投资组合(内部排名前5位的投资组合构建商)
  9. 在Objective-C中分类对象和方法
  10. 文件io(一)--unix环境高级编程读书笔记