"cause","description" "Use of decorator in definition of a inner function called by a decorated outer function","tf.function applies to a function and all other functions it calls so there is no need to do this. (https://www.tensorflow.org/guide/intro_to_graphs#taking_advantage_of_graphs)" "Use of eager mode","The use of eager mode and not using tf.function to execute graph mode is causing the problem. Example: Using eager mode instead of graph mode can cause performance issues." "Function conversion","The function conversion can't capture everything." "Error with representations","Error in defining the constrained and unconstrained representations." "Variable out-of-scope","Can happen due to things like lexical scoping being unavailable due to AutoGraph compiling the Python functions." "API confusion","The user doesn't understand how to use the API. " "Many iterations","Many iterations can cause performance issues. " "Incorrect tf.function parameter","The value of a parameter to tf.function is incorrect." "Use of graph mode","Using tf.function (opposite of using eager mode)." "Tensor dynamic shapes","Lack of a static specification of expected tensor shapes and types. It's useful to avoid recreating graphs due to dynamic typing of tensors." "Use of incompatible function","Using a function that is incompatible with tf.function inside a function being annotated with tf.function." "Flaky tests","Machine-dependent test results." "Recursion","Using recursion with tf.function is not supported" "XLA compilation not supported","The function does not support XLA compilation." "Accidental removal of tf.function decorator","Removal of tf.function decorator for debugging purposes, this could have performance ramifications. The TensorFlow documentation consistently says to remove the annotation to run in eager mode for debugging but developers may forgot to add it back." "Tracing","When you convert a function to a tf.function, the function is traced and the results are cached, meaning that inputs are associated with expected outputs. This is like freezing a function call. If you try to invoke ""frozen"" function with different types of arguments, you receive a type error, for example."