Releases: zauberzeug/learning_loop_node
v0.17.2
Detector Updates
- filtered upload of classification detections:
In the previous version we always uploaded images with classification detections when upload mode wasfiltered
. With this version we check for classification detections with low confidence and only upload the corresponding images.
v0.17.1
Detector bug fixes
-
In the detector we introduced a lock to make sure no inference overlaps
with another one. However, when there was an exception in the inference
(e.g. model not initialized) the lock was never released. This is fixed in this version. -
This release also fixes that we missed to set metadata for the batch evaluate
function.
v0.17.0
Breaking changes in the detector node API
- The SocketIO upload endpoint now takes a 'MetaData' dictionary that may contain detections, annotations and other meta information. Cf. Readme and the MetaData Class
v0.16.1
Detector
- Minor logging improvements
- Fix creation of demo_segmentation_tool container
v0.16.0
Detector
Implement communication with learning loop via novel loop REST API.
No breaking changes.
v0.15.0
Detector changes
- Extend API by a endpoint for batch inference
- Fix some tests and force kwargs for internal detect functions
v0.14.0
Detector features:
New handling of image uploads. As there will be an upload throttle mechanism in the learning loop, we had to make sure that the outbox will not grow infinitely. There are now two queues in the outbox, a priority queue and a normal queue. Regular images to upload (e.g. selected by the detection step) are added to the normal queue which is cut off at 1000 images. when using the upload functions (sio or rest) it is possible to declare an image as priority. The images in this queue will be uploaded first and never thrown away.
Detector breaking change:
The abstract method evaluate
which needs to be implemented by detectors now provides the raw jpg image bytes instead of a semi-converted np.array. This means if the detector uses cv2, reading the file can be done with cv_image = cv2.imdecode(np.frombuffer(image, np.uint8), cv2.IMREAD_COLOR)
. Alternatively PIL could be used as well.
v0.13.7
Detector fixes:
- Handle scenario where the download of model files would time out (e.g. due to a slow internet connection).
- Increase timeout time
- Properly handle timeout error and fix check if model is existing
v0.13.6
Detector Nodes
- Fix problems with model updates
v0.13.5
Detector fixes:
- Make sure the detector does not end up in an endless retry loop if initialization of the model fails