tensorflow dataloader 相关内容

2020-12-30 11:26:30 浏览数 (1)

Tensorflow dataloader 相关调研;数据读取是训练的开始,是非常关键的一步;下面是调研时搜集到的一些相关链接:

  • 十图详解tensorflow数据读取机制 https://zhuanlan.zhihu.com/p/27238630
  • TensorFlow全新的数据读取方式:Dataset API入门教程 https://zhuanlan.zhihu.com/p/30751039
  • tensorflow tf.data: https://tensorflow.google.cn/guide/data
  • https://github.com/tensorflow/docs/blob/r1.13/site/en/guide/datasets.md (tf1.13 关于dataset的介绍)
  • https://blog.csdn.net/weixin_44402973/article/details/95009945 :关于TFRecora的简介 
  • 数据读取类_data.Dataset:https://www.cnblogs.com/hellcat/p/8569651.html
  • https://github.com/madalinabuzau/tensorflow-eager-tutorials tensorflow Eager 模式教学

阅读摘要:

  • Tensorflow 读取数据的机制:
    • 直接从硬盘上读文件:tf 直接从硬盘上读取数据,并将内存放入内存中,并完成之后的运算;此过程出现大量IO操作,造成了大量的浪费;训练时间较长;
    • 在内存中开辟读写队列,来读取数据:首先将文件读到内存中,计算任务再从内存中读取数据,彼此之间不会发生阻塞,提高了资源的利用率,也一定程度上加快了网络的训练的速度;
    • 基于文件队列和内存队列结合的形式读取数据:对于磁盘上的数据,文件名存放在文件名队列中,内存队列从文件名队列中进行数据的读取,计算设备之间从内存中读取运算所需的数据。通过文件队列,可以完成对epoch的更好的管理;
  • TFRecord 数据格式:
    • tensorflow支持的一种数据格式,内部使用了google自家的Protocol Buffer 二进制数据编码方案,方便我们模型训练,验证,测试数据集的输入;通过protocal buffer能对现有的数据集进行一定程度上的聚合,减少磁盘IO;所以一定程度上能够加速,tensorflow数据处理阶段的过程;(这么一看,针对文件系统或者存储系统的研究生生涯学习一定程度上加深了我对磁盘,文件以及系统的理解,还是很不错的)

资源摘录自网络,保持更新,更多内容请关注:cnblogs.com/xuyaowen;

0 人点赞