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
Pipeline currently only supports __setitem__. For parameters, it seems natural to have
__delitem__
update
pop
__contains__
However, they clash with __getitem__. And it is unclear to me how most should be implemented with regard to providers.
However, at a minimum, I think we should add update.
And we should make sure that Python's default iterator behaviour raises meaningful errors. Currently, it fails because __getitem__ cannot be called with integers. E.g., list(pipeline) and x in pipeline raise KeyError: "Node '0' does not exist in the graph.".
The text was updated successfully, but these errors were encountered:
I think adding these methods makes perfect sense, but they should not be specific to parameters. Instead, they should behave consistently with the graph operations provided by __getitem__, i.e., no clash?
For example, __contains__ will return True if the node is in the graph, regardless of whether a value is set.
Exactly, it would remove the subgraph (all nodes connected to only this one). I think this is probably already implemented as part of __setitem__, since that is what it has to do internally?
Pipeline currently only supports
__setitem__
. For parameters, it seems natural to have__delitem__
update
pop
__contains__
However, they clash with
__getitem__
. And it is unclear to me how most should be implemented with regard to providers.However, at a minimum, I think we should add
update
.And we should make sure that Python's default iterator behaviour raises meaningful errors. Currently, it fails because
__getitem__
cannot be called with integers. E.g.,list(pipeline)
andx in pipeline
raiseKeyError: "Node '0' does not exist in the graph."
.The text was updated successfully, but these errors were encountered: