我有一个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 回答
这听起来不像你使用Tensorflow数据集管道设置东西,这是这样做的指南:
https://www.tensorflow.org/programmers_guide/datasets
你可以遵循它(它是一个小的学习曲线来习惯),或者你可以将numpy数组作为
feed_dict
参数的一部分传递给sess.run
. 如果你这样走,那么你应该创建一个tf.placeholder
,它将由feed_dict
中的值填充 . 这里的许多基本教程示例都遵循以下方法:https://github.com/aymericdamien/TensorFlow-Examples