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
Stop requiring BaseNode implementations to call super().init()
Motivation, pitch
Currently we require users to call super().init() but this can't be done easily with dataclasses, except in post_init. See eg nn.Module:
Alternatives
We could just leave it as-is, since DataClasses have a viable workaround with __post_init__. Right now we're only setting up a flag but it may be useful for other things in the future, such as registration with a global thread executor. Alternatively we could use a Loader wrapper class to register with an executor.
Additional context
No response
The text was updated successfully, but these errors were encountered:
andrewkho
changed the title
[Nodes] Remove the need for super().__init__() call to better support dataclasses
[RFC] Remove the need for super().__init__() call in BaseNode subclasses to better support dataclasses
Dec 18, 2024
🚀 The feature
Stop requiring BaseNode implementations to call super().init()
Motivation, pitch
Currently we require users to call super().init() but this can't be done easily with dataclasses, except in post_init. See eg nn.Module:
Alternatives
We could just leave it as-is, since DataClasses have a viable workaround with
__post_init__
. Right now we're only setting up a flag but it may be useful for other things in the future, such as registration with a global thread executor. Alternatively we could use a Loader wrapper class to register with an executor.Additional context
No response
The text was updated successfully, but these errors were encountered: