-
-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue with change to gelu #631
Comments
I don't think I've ever seen this come up with BSON before, and it seems extremely suspicious that it would do something that bypasses Julia's alias machinery. Are you able to construct a MWE that doesn't use this EPEDNN package? |
So if you can copy over N.B., if you change to [email protected], it works fine.
|
The reason to provide a MWE that doesn't require third-party packages is that serialization libraries like BSON might require those to be loaded if types from them are used. In any case, I created a simpler one: using Flux, BSON
m = Dense(1, 1, gelu)
BSON.@save "model.bson" m
# In new session with newer NNlib:
BSON.load("model.bson") For now, we can consider switching around the function and the alias. But this is not sustainable longer-term as we may want to use aliases to manage things like deprecated symbols. To Carlo's point in ProjectTorreyPines/EPEDNN.jl#7 (comment), we created |
Thanks for looking into this and providing solutions. Making sure that some of my more ML-inlined colleagues are aware, in case they have thoughts or comments |
Cross posting ProjectTorreyPines/EPEDNN.jl#7
My suspicion is that making
gelu
a constant that aliases the name of another function breaks something in a previous made BSON file that's looking for#gelu
. Instead ofconst gelu = gelu_tanh
perhaps it should be soemthing likegelu(args...; kwargs...) = gelu_tanh(args...; kwargs...)
The text was updated successfully, but these errors were encountered: