SMQTK v0.2.2 Release Nodes¶
This minor release primarily adds classifier algorithm and classification representation support, a new service web application for nearest-neighbors algorithms, as well as additional documentation.
Also, this release adds a few more command line tools, especially of note is
iqrTrainClassifier.py
that can train a classifier based on the saved state
of the IQR demonstration application (also a new feature).
Updates / New Features since v0.2.1¶
Classifiers
Added generic Classifier algorithm interface.
Added SupervisedClassifier intermediate interface.
Classification Elements
Added classification result encapsulation interface.
Added in-memory implementation
Added PostgreSQL implementation
Added file-based implementation
Added ClassificationElementFactory implementation.
Data Elements
Added DataFileElement implementation the optional use of the tika module for file content type extraction. Falls back to previous method when tika module not found or fails.
Descriptor Elements
Moved additional implementation specific documentation into
docs/
directory.Moved additional implementation specific configuration and example files into
etc/smqtk/
.Moved
PostgresDescriptorElement
implementation out of nested sub-module into a single module in implementations directory.
Descriptor Generators
Removed
PARALLEL
class variable (parameterized in pertinent implementation constructors).Added
CaffeDescriptorGenerator
implementation, which is more generalized and model agnostic, using the Caffe python interface.
Documentation
Added web-service documentation directory and moved applicable documentation files there.
Added more/better documentation on IQR demonstration application.
Added documentation on saving IQR state and training/using a supervised classifier based on it.
Tools / Scripts
Added descriptor compute script that reads from a file-list text file specifying input data file paths, and asynchronously computes descriptors. Uses JSON configuration file for algorithm and element backend specification.
Added tool for training a supervised classifier based on an IQR session state.
Added tool for classifying a sequence of input file paths, outputting paths that classified as the input label (highest confidence).
Converted
iqr_app_model_generation.py
to run as a command line tool with arguments, rather than an example script.
Web / Services
Added
NearestNeighborServiceServer
, which provides web-service that returns the nearest N neighbors to the given descriptor element.Added ability to save IQR state via a new button in web interface. This file is used with the IQR classifier training script.
Fixes since v0.2.1¶
Custom LibSVM
Fixed an issue where
svm_save_model
would crash when saving a 2-class SVM model.Fixed an issue where
svm_save_model
would save an extra, unexpected file when saving a 2-class SVM model.
Descriptor Elements
Fix threading joining in
elements_to_matrix
(when using non-multiprocessing mode).Fixed configuration use in
DescriptorElementFactory.from_config
.
Data Sets
Removed
is_usable
abstract method. Redundant withPluggable
base class.
Docs
Made
sphinx_server.py
executable.Fixed whitespacing issue with
docs/algorithms.rst
that prevented display of ToC sections.Updated/Fixed various class/function doc-strings.
Utils
Fixed
smqtk.utils.plugin.get_plugins
to handle skipping intermediate interfaces between the base class and implementation classes, as well as to skip implementation classes that do not fully implement abstract methods.