Conversation
|
This will be really useful for #1434, might be the nav stack needed for the Booster series |
| return super().stop() # type: ignore[no-any-return] | ||
|
|
||
|
|
||
| def deploy( |
| color_image: In[Image] | ||
|
|
||
| depth_image: Out[Image] | ||
| confidence: Out[Image] |
There was a problem hiding this comment.
I'd recommend rename to depth_confidence for the sake of other modules.
| if self.config.mode == DA3Mode.MULTI: | ||
| for i in range(1, self.config.num_cameras): | ||
| setattr(self, f"color_image_{i}", In(Image, f"color_image_{i}", self)) | ||
| setattr(self, f"depth_image_{i}", Out(Image, f"depth_image_{i}", self)) |
There was a problem hiding this comment.
I'd just leave this module to 1 camera and then lets create a general fix for multi-things rather than a module-specific multi hack. For drones we're going to need to solve the multi-agent thing pretty soon.
There was a problem hiding this comment.
I understand it's better to instantiate the model once and then use batching, but the general problem of 'many modules/streams need to use < same object >' is a general problem: ex control coordinator modules sharing an event loop thread and/or network connection object
| publish_confidence: bool = False | ||
|
|
||
|
|
||
| class DepthAnything3Module(Module[Config]): |
There was a problem hiding this comment.
A docstring explaining single/multi/temporal would be nice.
| ) | ||
|
|
||
| @simple_mcache | ||
| def _single_stream(self) -> Observable[tuple[Image, np.ndarray, np.ndarray]]: |
There was a problem hiding this comment.
Not sure why this is a method (compared to the much large multi-case being inlined) I don't see the cache benefit of a function that's only ever called once
|
Would be nice if Paul could use this in his security demo, great reusable module. |
|
@greptile are the models auto-downloaded as needed? |
|
Yes, the models are auto-downloaded. The implementation uses |
No description provided.