-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Using the AutoClip Keras description:
import smartclip as sc
from smartclip.backends.tf.integrate import SmartClipCallback
callbacks = []
callbacks.append(SmartClipCallback(model_ref=lambda: model, optimizer=ae_config.compiled_optimizer, clipper=sc.AutoClip()))
history = model.fit(train_ds, epochs=config["epochs"], validation_data=val_ds, callbacks=callbacks)I encountered this issue:
File "/home/ubuntu/log-anomaly-detection-openstack-ml/venv/lib/python3.12/site-packages/keras/src/utils/traceback_utils.py", line 122, in error_handler raise e.with_traceback(filtered_tb) from None File "/home/ubuntu/log-anomaly-detection-openstack-ml/venv/lib/python3.12/site-packages/smartclip/backends/tf/integrate.py", line 57, in wrapped_apply_gradients clipped = sc_tf._apply_grads_to_vars(grads, vars_, clipper) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/ubuntu/log-anomaly-detection-openstack-ml/venv/lib/python3.12/site-packages/smartclip/backends/tf/__init__.py", line 99, in _apply_grads_to_vars clipper.observe(float(g_norm.numpy()), key=key) ^^^^^^^^^^^^ AttributeError: 'SymbolicTensor' object has no attribute 'numpy'
Workaround
Forcing Eager Tensors can avoid this issue, but is probably less than ideal as it prevents optimizations.
import tensorflow as tf
tf.config.run_functions_eagerly(True)Metadata
Metadata
Assignees
Labels
No labels