如何切片张量为“无”的张量?

时间:2019-02-13 15:45:18

标签: python tensorflow

我只是使用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]。但是我不确定如何获得它。

1 个答案:

答案 0 :(得分:0)

您应该可以用None替换batch_size,这应该可以解决问题。

或者,tf.shape(x)[0]将为您提供具有批量大小的可变张量。