Don't remove identity nodes if they follow a device crossing and have consumers on...
authorA. Unique TensorFlower <gardener@tensorflow.org>
Mon, 12 Mar 2018 16:12:41 +0000 (09:12 -0700)
committerTensorFlower Gardener <gardener@tensorflow.org>
Mon, 12 Mar 2018 16:16:44 +0000 (09:16 -0700)
commit6d3bb6cac26684a2553a7a9fa04dd5b12f5434f3
treefb1b8e5a1a55d33ff3d8d9ec9bc31ebd059d13b1
parente1066ba1a4166ba5ff7ca02ae70e5c44fc385789
Don't remove identity nodes if they follow a device crossing and have consumers on a device different than themselves. They may be used to cache or route data between devices in a deliberate manner.

Simplify code in DependencyOptimizer a bit.

PiperOrigin-RevId: 188730185
tensorflow/core/grappler/optimizers/dependency_optimizer.cc
tensorflow/core/grappler/optimizers/dependency_optimizer_test.cc