输入命令tf.nn.conv2d

时间:2017-05-23 12:05:03

标签: tensorflow

我在Syder(Anaconda)中键入以下行:

DATETIME

UNIX_TIMESTAMP()'假设是inlay=np.random.random(size=(1,10,10,3)).astype('float32') layer=tf.nn.conv2d(inlay,filter=np.array([1,1,3,1]).astype('float32'),strides=[1,1,1,1],padding='SAME') 的输入。但是,我得到了以下内容 ValueError异常:

'inlay

我不明白。输入tf.nn.conv2d"ValueError: Shape must be rank 4 but is rank 1 for 'Conv2D_21' (op: 'Conv2D') with input shapes: [1,10,10,3], [4]". 是4D测试人员,那么问题是什么?

1 个答案:

答案 0 :(得分:0)

我认为问题是你的过滤器,而不是你的输入。目前它是[1,1,3,1],即它具有等级1.我认为你的意思是一个内核宽度为1,高度为1,输入暗淡3和输出暗淡1的过滤器?如果是这样尝试这样的事情:

with tf.variable_scope('conv'):
    w = tf.get_variable(
        'weights',
        shape=[1, 1, 3, 1],
        initializer=tf.contrib.layers.xavier_initializer(),
    )
    inlay = np.random.random(size=(1,10,10,3)).astype('float32')  
    layer = nn.conv2d(inlay, filter=w, strides=[1,1,1,1], padding='SAME')`