【发布时间】:2019-02-13 15:45:18
【问题描述】:
我只是用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]的'flow'。
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]。但我不知道如何获得它。
【问题讨论】:
-
对于您想要动态的任何维度,您可以使用
None。 -
@ARAT 感谢您的帮助。我尝试在 'tf.slice' 中使用 'None',但我注意到我不能直接将 'batch_size' 替换为 'None',否则会返回错误。你对此有什么想法吗?
标签: python tensorflow