Untraced Functions Warning during Model Saving
Quick answer
The 'Found untraced functions' warning when saving a Keras model is informational, not an error: TensorFlow could not trace some custom Python methods into the SavedModel graph, typically from custom layers or an RNN cell. The model still saves and reloads correctly for inference. If you rely on those exact methods after loading, provide them via custom_objects or save weights separately.

This warning message typically appears when saving a TensorFlow model. It indicates that some functions associated with the model's LSTM cell (specifically, lstm_cell_2_layer_call_fn and lstm_cell_2_layer_call_and_return_conditional_losses) have been identified as untraced, meaning they were not traced by TensorFlow's autograph and may not be directly callable after loading the model.
While this warning doesn't necessarily indicate an error, it's worth investigating why these functions are untraced, as it may affect the behavior of the model when loaded and used for inference or further training. Here are a few possible reasons:
-
Custom implementation: If you have implemented a custom LSTM cell or any related functions, TensorFlow's autograph may not be able to trace them automatically. In this case, you need to ensure that the custom implementation is properly handled when loading the model.
-
TensorFlow version mismatch: It's possible that the TensorFlow version used during saving the model is different from the version used during loading. This could result in inconsistencies and untraced functions. Make sure you are using the same version of TensorFlow for both saving and loading the model.
-
Control flow operations: If your model includes control flow operations or dynamic behavior that TensorFlow's autograph cannot trace, it may result in untraced functions. Ensure that any control flow operations are properly handled when saving and loading the model.
To address this warning and ensure the proper functionality of the loaded model, you should investigate the cause of the untraced functions and take appropriate steps to handle them. This may involve modifying your model code, updating TensorFlow versions, or implementing custom loading logic for the untraced functions.
Software Engineering Leader & Technical Author · Updated July 21, 2026