one*_*ers 3 python repeat tensorflow
Tensorflow 具有tf.data.Dataset.repeat(x)迭代数据x的次数。它还具有iterator.initializerwhich 当iterator.get_next()耗尽时,iterator.initializer可用于重新启动迭代。我的问题是使用tf.data.Dataset.repeat(x)技术与使用技术时有区别iterator.initializer吗?
众所周知,模型训练过程中的每个 epoch 都会接收整个数据集并将其分成批次。这发生在每个时代。假设我们有一个包含 100 个样本的数据集。在每个时期,100 个样本被分成 5 个批次(每个批次 20 个),用于将它们提供给模型。但是,如果我必须训练模型 5 个时期,那么我需要重复数据集 5 次。意思是,重复数据集中的总元素将有 500 个样本(100 个样本乘以 5 倍)。
现在,这项工作是由tf.data.Dataset.repeat()方法完成的。通常我们将num_epochs参数传递给方法。
这iterator.get_next()只是从tf.data.Dataset. 您正在逐批迭代数据集。
这就是区别。的tf.data.Dataset.repeat(),而重复数据集中的样品iterator.get_next()一个接一个读取分批的形式的数据。
| 归档时间: |
|
| 查看次数: |
1307 次 |
| 最近记录: |