After inlining, we convert control dependencies to the function call to depend on all control outputs. Although read variable ops doesn't have side effect itself, it must be executed before variable updates after the function call. Note that it's not enough to convert control dependencies to the function call to depend on both control outputs and data outputs of the function call. The read variable ops can be inputs to ops that have side effects, e.g. assert and print, which are not the function data outputs. PiperOrigin-RevId: 338391537 Change-Id: Ibc843c1a584088e54010685ebce678b047f7d94d |
||
---|---|---|
.. | ||
arithmetic_optimizer_test.py | ||
auto_mixed_precision_test.py | ||
cluster_test.py | ||
cluster_wrapper.cc | ||
cluster.py | ||
constant_folding_test.py | ||
cost_analyzer_test.py | ||
cost_analyzer_tool.py | ||
cost_analyzer_wrapper.cc | ||
cost_analyzer.cc | ||
cost_analyzer.h | ||
cost_analyzer.py | ||
datasets_test.py | ||
graph_analyzer_tool_wrapper.cc | ||
graph_analyzer.py | ||
item_test.py | ||
item_wrapper.cc | ||
item.py | ||
layout_optimizer_test.py | ||
memory_optimizer_test.py | ||
model_analyzer_test.py | ||
model_analyzer_wrapper.cc | ||
model_analyzer.cc | ||
model_analyzer.h | ||
model_analyzer.py | ||
tf_optimizer_test.py | ||
tf_optimizer_wrapper.cc | ||
tf_optimizer.py |