我该如何修复此错误.. 我不知道为什么会发生这个错误..这个错误阻止了我两天
叹息..
ValueError:my_cost_value / scan / while / Merge_1:0的形状不是 循环不变。它以shape()进入循环,但有 一次迭代后的形状。使用提供形状不变量 tf.while_loop的
test1.o
参数或set_shape() 关于循环变量
下面是我的代码
shape_invariants
答案 0 :(得分:0)
我没有在代码中看到一个while循环来尝试指出确切的问题,但这是核心问题。
使用tf.while_loop
时,您提供了一组张量作为loop_vars
。在执行while循环期间,这些张量的形状“必须不会改变很多”。在通常情况下,形状根本不会改变。如果他们这样做,很可能是一个错误的迹象 - 例如从body
输出张量时,你不小心重新排序了张量。
高级用户可以在shape_invariants
中明确指定他们对张量期望的loop_vars
。在https://www.tensorflow.org/api_docs/python/tf/while_loop中对形状不变量进行了相当详细的讨论。