SMQTK v0.3.0 Release Notes¶
This minor release primarily adds a new modular LSH nearest-neighbor index
algorithm implementation. This new implementation strictly replaces the now
deprecated and removed ITQNearestNeighborsIndex implementation because of
its increased modularity and flexibility. The old ITQNearestNeighborsIndex
implementation had been hard-coded and its previous functionality can be
reproduced with the new implementation (ItqFunctor + LinearHashIndex).
The CodeIndex representation interface has also been depricated as its
function has been replaced by the combination of the
LSHNearestNeighborIndex implementation.
Updates / New Features since v0.2.2¶
CodeIndex
Deprecated/Removed because of duplication with
DescriptorIndex,HashIndexand LSH algorithm.
Custom LibSVM
Fix compiler error on Windows with Visual Studio < 2013. Log2 doesn’t exist until that VS version. Added stand-in.
DescriptorIndex
Added initial Solr backend implementation.
Documentation
Updated documentation to references to
CodeIndexand update references toITQNearestNeighborsIndextoLSHNearestNeighborIndex.
HashIndex
Added new
HashIndexalgorithm interface for efficient neighbor indexing of hash codes (bit vectors).Added linear (brute force) implementation.
Added ball-tree implementation (uses
sklearn.neighbors.BallTree)
LshFunctor
Added new interface for LSH hash code generation functor.
Added ITQ functor (replaces old
ITQNearestNeighborsIndexfunctionality).
NearestNeighborIndex
Added generalized LSH implementation:
LSHNearestNeighborIndex, which uses a combination ofLshFunctorandHashIndexfor modular assembly of functionality.Removed deprecated
ITQNearestNeighborsIndeximplementation (reproducible using the newLSHNearestNeighborIndexwithItqFunctorandLinearHashIndex).
Tests
Added tests for DescriptorIndex abstract and in-memory implementation.
Removed tests for deprecated
CodeIndexandITQNearestNeighborsIndexAdded tests for
LSHNearestNeighborIndex+ high level tests using ITQ functor with linear and ball-tree hash indexes.
Tools / Scripts
Added optional global default config generation to
summarizePlugins.pyUpdated
summarizePlugins.py, removingCodeIndexand addingLshFunctorandHashIndexinterfaces.
Utilities
Added
cosine_distancefunction (inverse ofcosine_similarity)Updated
compute_distance_kernelto be able to takenumba.jitcompiled functions
Web / Services
Added query sub-slice return option to NearestNeighborServiceServer web-app.
Fixes since v0.2.2¶
DescriptorElement
Fixed mutibility of stored descriptors in DescriptorMemoryElement implementation.
Tools / Scripts
Added
Classifierinterface plugin summarization tosummarizePlugins.py.
Utilities
Fixed bug with
smqtk.utils.bit_utils.int_to_bit_vector[_large]when give a 0-value integer.
Web / Services
Fixed issue with IQR alerts not showing whitespace correctly.
Fixed issue with IQR reset not resetting everything, which caused the application to become unusable.