首页 文章

如何将Tensorflow数据集转换为2D numpy数组

提问于
浏览
0

我有一个TensorFlow数据集,其中包含近15000个多色图像,每个图像具有168 * 84分辨率和标签 . 它的类型和形状是这样的:

<ConcatenateDataset形状:((168,84,3,)()),类型:(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(这是上面函数的正确类型,我猜) . 但我失败了 .

那么,如何将此数据集转换为正确的类型以将其传递给函数?

我是python和tensorflow的新手,我不认为我理解为什么有数据集,如果我们不能直接使用它们来构建图层(我在TensorFlow的网站btw中遵循教程) .

谢谢 .

1 回答

  • 0

    这听起来不像你使用Tensorflow数据集管道设置东西,这是这样做的指南:

    https://www.tensorflow.org/programmers_guide/datasets

    你可以遵循它(它是一个小的学习曲线来习惯),或者你可以将numpy数组作为 feed_dict 参数的一部分传递给 sess.run . 如果你这样走,那么你应该创建一个 tf.placeholder ,它将由 feed_dict 中的值填充 . 这里的许多基本教程示例都遵循以下方法:

    https://github.com/aymericdamien/TensorFlow-Examples

相关问题