在调试Tensorflow代码时,我想输出一个张量的形状,比如print("mask's shape is: ",mask.get_shape())
但是,相应的输出是mask's shape is (?,?,?,1)
如何解释这种输出,无论如何都要知道这个张量的前三个维度的确切值吗?
答案 0 :(得分:1)
此输出表示TensorFlow的形状推断仅能够推断出mask
张量的部分形状。它能够推断出(i)mask
是一个4-D张量,(ii)它的最后一个维数是1;但它不能静态地知道前三个维度的形状。
如果你想获得张量的实际形状,主要的方法是:
mask_val = sess.run(mask)
并打印mask_val.shape
。mask_shape = tf.shape(mask)
张量,计算mask_shape_val = sess.run(mask_shape)
并打印`mask_shape。如果形状取决于数据,或者张量本身是具有部分已知形状的某些张量的函数,则形状通常具有未知组件。如果你认为面具的形状应该是是静态的,你可以通过(递归地)查看计算mask
和<div class="_lc_radio_button">
<div class="_radio_holder">
<input value="look_indiv_plan" name="radioButtons" type="radio" id="radioButtons_1" class="input_radio" checked="checked">
</div>
<div class="_radio_label_holder">
<label for="radioButtons_1">Looking for an Individual or Family Plan</label>
</div>
</div>
的操作的输入来追踪不确定性的来源。找出形状部分已知的位置。