Raised when an operator needs the value of a tensor that is only known when the model runs.
Examples include the limit of a Range, the input of a NonZero, the
condition of an If, and the scores of a NonMaxSuppression.
Transmuter catches this error during compilation and creates a graph break at the operator. The break operator runs eagerly on the real values, and compilation continues after it with the shapes the values decide.
If Transmuter cannot handle the break, it re-raises the error. To fix it:
- Pass the tensor as a static input (
:static_inputsoption ofTransmuter.compile/3). - Call
Transmuter.run/4without compilation.
Fields
:value- the name of the tensor whose value was needed:op_type- the operator type that needed the value:node- the node name in the graph, ornilwhen not available:expr- the id of the traced expression whose value was needed, ornil.Transmuter.compile/3finds the input of the node that it is.