I’d like to better understand the semantics/expressiveness of the native TensorFlow reactive specification layer. This includes some operations of the
tosa dialects (such as
tf.Placeholder) but mostly operations of the
Here are two examples of questions we’d like to ask:
- Is it possible to place a
tf.Placeholderoperation inside a frame enclosed by
tf_executor.Exit? In other terms, is it possible to have multiple
tf.Placeholderoperations working at different paces? For instance, use
tf_executor.Switchto have some
tf.Placeholderoperations work in odd cycles, while others work in even cycles? My question has of course a dual sense: “what is the intended semantics” and “what can the implementation flows do, e.g. during implementation over iree or tfrt”?
- Why is
tf.Placeholdera part of dialect
tf, and not of dialect
tf_executor? The overall organization seems to separate the computational part in
tfand the control/reactive part in
tf_executor. For instance,
tf_executorwill define the sources and sinks related to the state. But not the primary data source
tf.Placeholder. Is this due to historical reasons? The fact that the placeholder also became part of the
tosadialect makes me doubt it (
tosa.while_loopdo not pose the same problems, as they are mere control structures, not involving interaction with the environment).
I’m not sure this is the right place to ask, hence my subject line.