我只是使用TensorFlow来实现一个称为DVF的CNN模型:https://github.com/liuziwei7/voxel-flow。
模型的输出为'deconv4',形状为[batch_size,256,256,3],然后我需要使用以下命令提取光流:'flow = tf.slice(deconv4.outputs,[0, 0,0,0],[batch_size,256、256、2])'。
但是,如果'batch_size'为'None',我如何切片'flow'张量?
谢谢。
'deconv4'的形状为[?,256,256,3],我想从'deconv4'中获得形状为[?,256,256,2]的'流'。
deconv4 = Conv2d(deconv3_bn_relu, 3, [5, 5], act=tf.tanh, padding='SAME', W_init=w_init, name='deconv4')
#################### Calculate Voxel Flow based on the 'deconv4' ############################
flow = tf.slice(deconv4.outputs, [0,0,0,0], [batch_size, 256, 256, 2])
“流”的形状应为[?,256,256,2]。但是我不确定如何获得它。
答案 0 :(得分:0)
您应该可以用None
替换batch_size,这应该可以解决问题。
或者,tf.shape(x)[0]
将为您提供具有批量大小的可变张量。