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
I believe something has changed in Keras 3 (at least in the master branch) relating to how callbacks are handled - the Callbacks class now has a model member built in; this is a python attribute, and so means that trying to assign to it in the constructor of a callback raises an exception that the model is read-only and so has no assignment function.
I actually hit this in my own callbvack earlier today, and I don't know if this is potentially a bug in Keras or it's something that will be here to stay in stable releases, but I see it in keras-nightly 3.3.3.dev2024050603, and assuming the latter, lines like this one will be a problem - by the time the parent constructor has run, self.model is already a member of the class, and is actually wrapping the hidden member, hence the issue with trying to assign to it.
The quick and dirty workaround I took in my own code was simply to give the variable a different name (e.g. Model - _model is already in use, I believe).
Cheers
Additional Files
No response
Environment
WandB version: This affects master
OS:
Python version:
Versions of relevant libraries: Keras 3.3.3 nightly with TF (although it ought to be backend-agnostic)
Additional Context
No response
The text was updated successfully, but these errors were encountered:
hey @stellarpower - I was able to reproduce this with the general Callback class as well. is this occurring when you try accessing WandbMetricsLogger ? I'll be sure to flag this behavior with our integrations team
Also, please note that WandbCallback is a legacy callback so we recommend using the three new callback we added in 0.13.4 (docs here 20)
I don't think so, as I don't think I hit this problem with the other callback; I use the legacy callback because I think there isn't a new one for logging gradients, and that's one of the main reasons for using W&B, as this isn't available in Tensorboard anymore. So I generally run my models with both.
I'll let you know if I see evidence ot hte contrary though.
Describe the bug
I believe something has changed in Keras 3 (at least in the master branch) relating to how callbacks are handled - the Callbacks class now has a
model
member built in; this is a python attribute, and so means that trying to assign to it in the constructor of a callback raises an exception that the model is read-only and so has no assignment function.I actually hit this in my own callbvack earlier today, and I don't know if this is potentially a bug in Keras or it's something that will be here to stay in stable releases, but I see it in
keras-nightly 3.3.3.dev2024050603
, and assuming the latter, lines like this one will be a problem - by the time the parent constructor has run, self.model is already a member of the class, and is actually wrapping the hidden member, hence the issue with trying to assign to it.The quick and dirty workaround I took in my own code was simply to give the variable a different name (e.g.
Model
-_model
is already in use, I believe).Cheers
Additional Files
No response
Environment
WandB version: This affects master
OS:
Python version:
Versions of relevant libraries: Keras 3.3.3 nightly with TF (although it ought to be backend-agnostic)
Additional Context
No response
The text was updated successfully, but these errors were encountered: