我有一个 TensorFlow 数据集,其中包含近 15000 个分辨率为 168*84 的彩色图像,每个图像都有一个标签。它的类型和形状是这样的:
< ConcatenateDataset shapes: ((168, 84, 3), ()), types: (tf.float32, tf.int32)>
我需要用它来训练我的网络。这就是为什么我需要将它作为参数传递给我在其中构建层的函数:
def cnn_model_fn(features, labels, mode):
input_layer = tf.reshape(features["x"], [-1, 168, 84, 3])
# Convolutional Layer #1
conv1 = tf.layers.conv2d(
inputs=input_layer,
filters=32,
kernel_size=[5, 5],
padding="same",
activation=tf.nn.relu)
.
.
.
我尝试使用 tf.eval() 和 np.ravel() 将每个张量转换为 np.array(我猜这是上面函数的正确类型)。但我失败了。
那么,如何将此数据集转换为正确的类型以将其传递给函数?
Plus
我对 python 和 TensorFlow 很陌生,如果我们不能直接使用数据集来构建层,我想我不明白为什么会有数据集(顺便说一句,我正在遵循 TensorFlow 网站上的教程)。
Thanks.