如何正确批处理图像的张量流数据集形状

时间:2020-09-17 00:47:11

标签: python tensorflow2.0 tensorflow-datasets

我正在尝试从张量数据集创建批处理数据集,但形状出现问题。 我看到了一些references to enqueue,但已经过了几年,并且tf.dataset.batch没有任何选择。我的数据集如下:

X_test1 = tensorflow.data.Dataset.from_tensors((X_test_images, X_test_labels))
<TensorDataset shapes: ((5512, 256, 256, 3), (5512,)), types: (tf.float32, tf.int32)>

哪个是256 x 256的图像阵列,具有3个颜色通道和5512个图像/标签的标签矢量。

但是当我尝试对其进行批处理时,它将创建一个新维度:

new = X_test1.batch(32)
<BatchDataset shapes: ((None, 5512, 256, 256, 3), (None, 5512)), types: (tf.float32, tf.int32)>

我真正想要的是:

<BatchDataset shapes: ((None, 256, 256, 3), (None,)), types: (tf.float32, tf.int32)>

第32个批次为“无”,最后一个批次中可能还有一些剩余物。

谢谢!

1 个答案:

答案 0 :(得分:1)

您应该使用from_tensor_slices初始化数据集:

double lat, lon;
GeoCoordinate(lat, lon);

GeoCoordinate^ coord = gcnew GeoCoordinate(lat, lon);


lat = coord->Latitude;
lon = coord->Longitude;

geo->Text = "lat " + lat + " lon " + lon;

Documentation