Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 2.0数据集批处理工作不正常_Tensorflow_Tensorflow2.0 - Fatal编程技术网

Tensorflow 2.0数据集批处理工作不正常

Tensorflow 2.0数据集批处理工作不正常,tensorflow,tensorflow2.0,Tensorflow,Tensorflow2.0,Tensorflow 2.0数据集api的批处理未按我预期的方式工作 我制作了一个这样的数据集 self.train_dataset = tf.data.Dataset.from_generator(generator=train_generator, output_types=(tf.float32, tf.float32), output_shapes=(tf.TensorShape([6]), tf.TensorShape([]))) 这将生成datasetv1适配器形状:((6,),(

Tensorflow 2.0数据集api的批处理未按我预期的方式工作

我制作了一个这样的数据集

self.train_dataset = tf.data.Dataset.from_generator(generator=train_generator, output_types=(tf.float32, tf.float32), output_shapes=(tf.TensorShape([6]), tf.TensorShape([])))
这将生成datasetv1适配器形状:((6,),()),类型:(tf.float32,tf.float32), 对于这个数据集,我应用了tf.data.dataset中的批处理函数

self.train_dataset.batch(1024)
生成DatasetV1Adapter形状:((None,6),(None,)、类型:(tf.float32,tf.float32),更改批大小根本没有帮助

根据该批次的官方描述

结果元素的组件将有一个额外的外部维度,即batch_size(如果batch_size未将输入元素的数量N平均分割,且drop_余数为False,则最后一个元素的batch_size为N%batch_size)。如果您的程序依赖于具有相同外部尺寸的批,则应将drop_rements参数设置为True,以防止生成较小的批

我认为这个函数的工作方式是生成[batch,6],[batch],但效果不好


我最初使用pytorch,最近开始使用TF2.0,需要一些关于正确批处理的帮助。提前感谢。

您可以通过设置

train_dataset = train_dataset.batch(2, drop_remainder=True)
默认情况下,
drop_rements=False
。在这种情况下,第一个维度必须
None
,因为(很可能)在数据集末尾将有一批
元素,因为样本数不能被
batch\u size
整除