如果循环变量的形状在迭代后被确定为比其形状不变量更一般或与之不相容,则会引发错误。例如,[11,None]的形状比[11,17]的形状更通用,而且[11,21]与[11,17]不兼容。...这意味着稀疏张量的三个张量的形状是([None], [None, r], [r])。注意:这里的形状不变量是SparseTensor.dense_shape属性的形状。它一定是向量的形状。..., tf.constant(2)))c = lambda i, p: i 1, Pair((p.j + p.k), (p.j - p.k)))ijk_final...= tf.while_loop(c, b, ijk_0)使用形状不变量的例子:i0 = tf.constant(0)m0 = tf.ones([2, 2])c = lambda i, m: i None, 2])])示例演示了不严格的语义:在下面的示例中,计数器的最终值不依赖于x,所以while_loop可以增加与x的更新并行的计数器