SMQTK v0.6.0 Release Notes¶
This minor release provides bug fixes and minor updates as well as Docker wrapping support for RESTful services, a one-button Docker initialization script for a directory of images, and timed IQR session expiration.
The docker
directory is intended to host container Dockerfile packages as
well as other associated scripts relating to docker use of SMQTK. With this
release, we provide a Dockerfile, with associated scripts and default
configurations, for a container that hosts a Caffe install for descriptor
computation, replete with AlexNet model files, as well as the NearestNeighbor
and IQR RESTful services. This container can be used with the
docker/smqtk_services.run_images.sh
for image directory processing, or with
existing model files and descriptor index.
The IQR Controller class has been updated to optionally time-out sessions and clean itself over time. This is required for any service that is going to stick around for any substantial length of time as resources would otherwise build up and the host machine would run out of RAM.
Updates / New Features since v0.5.0¶
CMake
- Added scripts that were missing from install command.
Descriptor Index
- Changed functions that used to take
*uuids
list expansion as an argument and changed them to take iterables, which no longer causes sequencification of input iterables and is already compatible with all included implementations except Solr.- Update Solr implementation functions that used to take
*uuid
list expansion to properly handle input iterables of arbitrary sizes.- DescriptorIndex instances, when iterated over, now yield DescriptorElement instances instead of just the UUID keys.
Docker
- Added docker container formula for running SMQTK NearestNeighbor and IQR services.
- Added a script to setup SMQTK web services over a directory of images, performing all necessary Docker setup and data processing. This is intended for demo purposes only and not for large scale processing.
IQR
- Added optional session expiration feature to
IqrController
class to allow for long-term self clean-up.
Nearest Neighbors Index
- Changed ITQ fit method to by default use multiprocessing over threading, which in general is faster (more through-put).
Utilities
- Removed by-index access in
elements_to_matrix
, allowing arbitrary input as long as the __len__ and __iter__ functions are defined.- Changed much of the debug messages in
smqtk.utils.parallel
to “trace” level (level 1).
Scripts
- Simplified the
train_itq.py
script a little.
Web Apps
- Added configuration of IqrController session expiration monitoring to IQR RESTful (ish) service.
Fixes since v0.5.0¶
Descriptor Index
- Fixed PostgreSQL back-end bug when iterating over descriptors that caused inconsistent/duplicate elements in iterated values.
IQR
- Fixed how IqrController used and managed session UUID values.
Utilities
- Fixed bug in
int_to_vector
functions dealing with vector size estimation.
Web Apps
- Fixed bugs in IQR classifier caching and refreshing from dirty state
- Fixed how the NearestNeighbor service descriptor computation method errors regarding descriptor retrieval in order to not obfuscate the error.