TensorFlow2.0 大数据预处理Pipeline

本文介绍了在TensorFlow 2.0中处理大规模数据集的策略,包括使用tf.data.Dataset的map函数进行数据预处理,以及利用TFRecord文件存储和分批次读取数据。在处理过程中,注意到tf.py_function可能导致并行处理速度下降,并提供了应对策略。
摘要由CSDN通过智能技术生成

目录

一、为什么需要这样?

二、如何解决?

三、TF2.0提供的方法

1、tf.data.Dataset中的map函数

2、TFRecord


 

一、为什么需要这样?

        入门的时候,我们非常熟悉MNIST手写数字数据集,我们构建深度神经网络,比如CNN,MLP,LSTM等来训练数据集,我们一次性的加载了所有的数据集,然后不停地迭代训练。

        当数据集非常大,大到50GB,100GB的时候,我们显然是不能将所有数据加载到内存空间的,不然的话硬件要求是非常苛刻的。

二、如何解决?

      其实在我们训练的时候,我们一次需要加载的数据只有batch_size大小,所以我们没有必要将所有的数据全部加载到内存中,可以构建一个队列,每次加载几个batch_size,然后不停地用完,不停的补新,这样可以很好的减少内存开销。

三、TF2.0提供的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值