dataset

来源:8-2 GPU默认设置

慕九州7272337

2022-09-14

1.在第2章中有的没有用dataset,加载完数据直接数据集划分,然后做完归一化就输入给model进行fit了,到了后面就用dataset了。
8-2中就是把普通的numpy数组变成dataset,是不是分Batch的时候要生成dataset,如8-2,
如5-3节中如图2所示,在def make_dataset()函数中传入了参数bacth_size
但是7-3中也有bacth_size参数设置(如下图所示),但是没有make_dataset呢
2.第2章中没有用dataset和8-2以及5-3中使用dataset有什么意义上的区别么?
3.不明白什么情况下使用dataset,也就是需要单独写一个函数def make_dataset()来制作dataset?什么情况下不使用dataset?
4.什么情况下需要使用generator?
图片描述
图片描述

写回答

1回答

正十七

2022-09-14

2. 有没有用dataset其实对模型训练都是一样的,模型就是批量训练,如果你能正确的产生batch数据,那用什么无所谓。第二章是因为调用了fit函数,fit函数支持多种数据。

3. tensorflow dataset有很多好处,封装了很多操作。比如batch,shuffle,map, 还可以比较方便的从文件中读取。一般情况下,如果你能把数据集全都load进内存,那就可以不用dataset,但如果你的数据比较大,还要用分布式训练,那最好用dataset,省时省力。

4. generator是为了支持python的一个特性,python中有yield关键字可以用来编写generator程序,很多之前的机器学习的代码都是基于这个东西封装的数据,from_generator可以把这一类代码也都转成dataset。


API参考:https://www.tensorflow.org/api_docs/python/tf/data/Dataset#from_generator

0
1
慕九州7272337
非常感谢!
2022-09-16
共1条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程