我在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测试人员,那么问题是什么?
答案 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')`