The new semester started last week, so I was busy with my students. Development has mainly happened around deeplearning4j and prediction support for Microsoft's deeplearning library CNTK.
LoadBalancer: fixed losing of outer variables; uses a Flow control actor now internally for better encapsulation.
Added support for outputting relative paths with the FileSystemSearch source: LocalDirectorySearch, LocalDirectorySearchWithComparator, LocalDirectorySearchWithCustomSort, LocalFileSearch
Panels managed by the DisplayPanelManager get re-used via their unique ID now properly (eg when using a variable), not just when mergable. Allows out of order updates of sequence plots now.
The Min and Max transformers can return 1-based indices now.
Added support for ADAMS_LIBRARY_PATH environment variable to adams.core.management.Launcher: its content gets supplied to the JVM via -Djava.library.path (used for native libraries like CNTK, MKL).
Added ability to DL4JTrainModel transformer for testing the model on a test set (split off the training data) and output the best model found so far, with associated statistic(s).
Added support for criteria to stop training to DL4JTrainModel rather than just having fixed number of epochs.
adams-weka: The WekaFilter transformer can make use of storage and source actor now for obtaining the actual filter to use, not just serialized file or the filter specification.
Added the ArrayNormalize array statistic, which normalizes an array to sum up to 1.0.
added support for applying CNTK models: CNTKModelApplier.
added spreadsheet writer for CNTK text file format: CNTKSpreadSheetWriter
added image feature generator: DefaultCNTK
adams-cntk-weka: Added pseudo-classifier that uses a pre-built model: functions.CNTKPrebuiltModel
adams-dl4j: Added transformer for randomizing dataset: DL4JRandomizeDataset
Added ScaleReportObjects transformer for scaling objects defined in reports.
Added example flow for training an OpenCV Haar cascade from annotated images: adams-imaging-opencv_train_haar.flow
adams-imaging-openimaj: added generic object detector class hierarchy, to be used by adams.flow.transformer.locateobjects.OpenIMAJObjectDetector
adams-spreadsheet: added class hierarchy for processors that work on the selected rows in a spreadsheet table, e.g., copying files using the filename from the specified column. Functionality available through SpreadSheetDisplay sink.