Closed willcrichton closed 5 years ago
The two scenarios we want to differentiate between is:
1) Two Ops/Kernels registering with the same name but with different implementations 2) Re-registering the same Op/Kernel
The first should definitely be an error, but the latter is fine (maybe just a warning). This basically only comes up in the case of Python kernels (since C++ kernels are registered at file scope) so a Python specific solution should be ok.
Two solutions:
TODO: have kernel registrations in Python stdlib check if op is registered first
I haven't seen this issue anymore. I think this was resolved by making python kernels "Temporary", in that they are suffixed with a UUID generated once per python process and thus unique across client sessions.
This isn't necessarily a bug, but it currently manifests as one. For example,
pipelines.detect_faces
registers aBBoxNMS
kernel every time it's called, which means multiple calls topipelines.detect_faces
will fail after the first. There are a few options here:What do you think @apoms?