You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to save a trained model and reload it in a separate python file using model.save(filepath, save_format='tf') then model = tf.keras.models.load_model(filepath)
I see that the model type has changed, before saving I had a
<tensorflow_decision_forests.keras.GradientBoostedTreesModel object at ... >
This model evaluated correctly but if I call model.make_inspector() on the loaded model I have this error AttributeError: 'GradientBoostedTreesModel' object has no attribute 'make_inspector' This command runs normally for the model that is trained and saved.
My alternative approach was to just save the model weights with model.save_weights(filepath) then load the model weights with model.load_weights(filepath) followed by model.compile(metrics=["binary_crossentropy"])
However, when evaluated this model gives 0s and the following error when I call model.make_inspector()
Traceback (most recent call last):
File "/home/cb719/Documents/L1Trigger/Tracker/TrackQuality/TrackQuality_package/test.py", line 43, in <module>
NoDegredation.model.make_inspector()
File "/home/cb719/miniconda3/envs/tq/lib/python3.11/site-packages/tensorflow_decision_forests/keras/core_inference.py", line 411, in make_inspector
path = self.yggdrasil_model_path_tensor().numpy().decode("utf-8")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/cb719/miniconda3/envs/tq/lib/python3.11/site-packages/tensorflow/python/util/traceback_utils.py", line 153, in error_handler
raise e.with_traceback(filtered_tb) from None
File "/tmp/__autograph_generated_filegdj2nxzc.py", line 39, in tf__yggdrasil_model_path_tensor
ag__.if_stmt(ag__.ld(multitask_model_index) >= ag__.converted_call(ag__.ld(len), (ag__.ld(self)._models,), None, fscope), if_body, else_body, get_state, set_state, (), 0)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: in user code:
File "/home/cb719/miniconda3/envs/tq/lib/python3.11/site-packages/tensorflow_decision_forests/keras/core_inference.py", line 436, in yggdrasil_model_path_tensor *
if multitask_model_index >= len(self._models):
TypeError: object of type 'NoneType' has no len()
I see from #169 that pickling a model is not supported though if it were maybe that would also fix my issues.
Any advice on best practices for saving and loading models would be welcome, I would like to avoid having to retrain a model every time I want to inspect it.
Tensorflow decision forests version: 1.6.0
Python version: Python 3.11.6 | packaged by conda-forge | (main, Oct 3 2023, 10:40:35) [GCC 12.3.0] on linux
The text was updated successfully, but these errors were encountered:
# Let's save the model first:path_to_model="/tmp/mymodel"model.save(path_to_model)
# Now create an inspector from the raw YDF model inside our modelinsp=tfdf.inspector.make_inspector(os.path.join(path_to_model, "assets"))
When trying to save a trained model and reload it in a separate python file using
model.save(filepath, save_format='tf')
thenmodel = tf.keras.models.load_model(filepath)
I see that the model type has changed, before saving I had a
<tensorflow_decision_forests.keras.GradientBoostedTreesModel object at ... >
after loading I have a
<keras.src.saving.legacy.saved_model.load.GradientBoostedTreesModel object at... >
This model evaluated correctly but if I call
model.make_inspector()
on the loaded model I have this errorAttributeError: 'GradientBoostedTreesModel' object has no attribute 'make_inspector'
This command runs normally for the model that is trained and saved.My alternative approach was to just save the model weights with
model.save_weights(filepath)
then load the model weights withmodel.load_weights(filepath)
followed bymodel.compile(metrics=["binary_crossentropy"])
However, when evaluated this model gives 0s and the following error when I call
model.make_inspector()
I see from #169 that pickling a model is not supported though if it were maybe that would also fix my issues.
Any advice on best practices for saving and loading models would be welcome, I would like to avoid having to retrain a model every time I want to inspect it.
Tensorflow decision forests version: 1.6.0
Python version: Python 3.11.6 | packaged by conda-forge | (main, Oct 3 2023, 10:40:35) [GCC 12.3.0] on linux
The text was updated successfully, but these errors were encountered: