Fix control flow bug.
authorSkye Wanderman-Milne <skyewm@google.com>
Thu, 22 Feb 2018 01:20:32 +0000 (17:20 -0800)
committerTensorFlower Gardener <gardener@tensorflow.org>
Thu, 22 Feb 2018 01:27:45 +0000 (17:27 -0800)
commit0137f7d281b22192d652697bf9a14366bd16fe4f
treebd16c50fbc342ceb2ba0725c9a10398d9d0d0c26
parent913323ba96034108c0c85cadbfd879b35858aa26
Fix control flow bug.

Without this change, the newly added test would fail with a "Reval[0]"
error. This was due to extra Enter nodes being added in the gradients
graph in order to enter the outer while contexts for a value that was
already in those contexts. The extra Enter nodes would cause the
frames of the execution to be messed up, which prevented the final
value from being propagated to the outermost Exit node.

A similar change is probably needed in WhileContext, although I don't
have a test case for this yet.

PiperOrigin-RevId: 186544961
tensorflow/python/kernel_tests/control_flow_ops_py_test.py
tensorflow/python/ops/control_flow_ops.py