Skip to content

Releases: feranick/SpectralMachine

20201124a

24 Nov 22:51
Compare
Choose a tag to compare

Changelog:

  1. SpectraKeras
    • Use TF2.x conversion for model quantization. So far, float support in TF 2.x was missing, so quantization with TF 2.x was done with the v1 compatibility layer. TF 2.3 adds support for float, making the v2 conversion the default. TF 2.3 is needed.

20200709a

10 Jul 22:29
Compare
Choose a tag to compare

Changelog:

  1. SpectraKeras
    • Several bug fixes and improvements
    • Code cleanup (whitespaces)
  2. SpectraLearnPredict2
    • Several bug fixes and improvements
  3. Utilities
    • Several bug fixes across all utilities

20200225a

02 Mar 23:02
Compare
Choose a tag to compare

Changelog:

  1. SpectraKeras
    • Added support for Coral Edge TPU for MacOS and Linux
    • Redesigned quantization routine for TFlite making use of eager execution. Faster conversion to tflite.
    • Fixed several issues related to conversion to quantized models for tflite, leading to unreliable predictions.
    • Added new accuracy determination option: Calculates the average accuracy for a test file formatted as the validation file. Useful for comparison of different models
    • Rate of success in batch predictions is shown at the end of the prediction run.
    • Several bug fixes, in particular:
      • Inference with tflite
      • Visualization of weights and activations.
      • Compatibility with newest versions of libraries
  2. SpectraLearnPredict2
    • The software is officially discontinued. It is largely superseded by SpectraKeras. Only minor bug fixes will be applied mainly to maintain compatibility with frameworks.
  3. Utilities
    • InfoLimitedDatasets and RemoveLimitedDatasets: Major restructuring, correctly deals with non integer classes. Much, much faster.
    • AddRelativeHorNoisyData.py, AddVerticalOffset.py: much faster performance.
    • CheckData.py: Improved compatibility with h5 files.
    • InfoDatasets.py: Simplified and optimized.
    • Removed irrelevant files: LoadBinary.py

20200121a

21 Jan 19:05
Compare
Choose a tag to compare

Changelog:

  1. SpectraKeras

    • Simplified recognition of definition of callback metrics for TF 1.x vs 2.x
    • List both train/validation tests at the end of the log
    • Fixed minor issue with CUDNN while using TF 1.15.
    • Training uses only necessary memory in GPU, rather than full, TF2.x
  2. Utilities

    • RandomCrossValidMaker: much improved performance (several order of magnitude).
    • SLURM submission scripts: updated to work with latest SLURM.

20191029a

14 Nov 18:46
Compare
Choose a tag to compare

Changelog:

  1. SpectraKeras
    • Removed support for external Keras (now built-in TF)
    • Improved support for TF 2.0
    • Added support for TensorFlow Lite:
    • Inference can be done:
      -- Using standard TensorFlow
      -- Using TensorFlow Lite runtime
      -- Using TensorFlow Lite runtime through Coral Edge TPU
    • Batch conversion allow for specifying the folder where the prediction files are located
    • Code consolidation: Common methods between SpectraKeras_CNN and SpectraKeras_MLP are now placed in libSpectraKeras.
    • Several improvements and bug fixes
  2. Utilities
    • ReadRruff can now handle batch and single file conversion and specific folder for output

21091022a

24 Oct 18:55
Compare
Choose a tag to compare

Changelog:
SpectraKeras and SpectraLearnPredict2:
* Added support for TensorFlow 2.0. SpectraKeras and SLP2 automatically readjust the APIs based on the installed version. Going forward, when TF 2.0 is released, support for older TF 1.x APIs will be deprecated. This is the last release with support for TF 1.0

20181231a

25 Jan 16:04
Compare
Choose a tag to compare

Changelog:

  1. SpectraKeras_CNN:
    • Visualization of activations after training of the first convolutional layer.
    • Visualization of activation in prediction for all layers (including convolution, pooling, dense).
    • New command line option (-n) to only visualize neural network summary.
    • Warning: the INI File has changed, please update accordingly.
  2. Utilities:
    • AddSpectraToLearnFile: Updated to collect spectra inside folder in bulk. Use "." for the name of the Spectra file.
    • Rewritten many methods to replace for loops with proper numpy optimization: much faster execution in the following: AddHorizontalOffset, NormLearnFile, AddLinearBackground, AddRelativeNoisyData,AddNoisyData
    • XRange: Bug fixes. Plot is not displayed, but saved.
    • AddNoisyData: Bug fixes, offset is in percentage
    • AddRelativeNoisyData: Rewritten based on AddNoisyData to allow normalization and consistency
    • ConvertToTFLite: Convert trained TF models to TensorFlow Lite.
    • ConvertToTFJS: Convert trained TF models to TensorFlow.js (Requires tensorflowjs to be installed via pip)

20181207a

12 Dec 22:33
Compare
Choose a tag to compare

Changelog:

  1. SpectraKeras_MLP and SpectraKeras_CNN:
    • SpectraKeras_CNN: Improved design of CNN network design: max_pooling and dropouts can now be defined after each convolution layer. FCL have now their own dropout parameter.
    • Warning: the INI File has changed, please update accordingly.
    • Show network summary before training and in prediction
    • Bug fixes and optimization

20181130a

03 Dec 03:05
Compare
Choose a tag to compare

Changelog:

  1. SpectraLearnPredict2: New features:
    • Keras Regressor: The user can choose through a configuration flag (regressorKeras) to carry out regression rather than classification.
    • Warning: SpectraLearnPredict2.ini files created with previous version of SLP2 need to be updated by adding regressorKeras = False under the section [Keras]
  2. SpectraKeras_MLP and SpectraKeras_CNN: Rebased against the stable version of DataML. New features:
    • Keras Regressor : The user can choose through a configuration flag (regressor) to carry out regression rather than classification.
    • When used as regressor, scores with loss and mae are tracked.
    • Spectral normalization (y with values between 0,1)
    • Automatic spectral range rescaling during prediction, when prediction spectra have different range than those in the training dataset.
    • New batch evaluation mode: evaluation against a test dataset allows for rapid tracking of loss or accuracy. Results are tracked in *-summary.csv files.
    • Predictions are listed with all possibilities not just the more likely.
    • SpectraKeras_CNN: fixed bugs in handling files for predictions.
    • Warning: SpectraKeras_MLP.ini and SpectraKeras_CNN.ini INI files created with previous version of SpectraKeras need to be updated by adding regressor = False and normalize = False under the section [Parameters]
    • libSpectraKeras: New library for SpectraKeras with relevant classes that can be used within SpectraKeras or to write custom Data Makers for SpectraKeras.
    • New classes:
      • Normalizer class: normalize data between 0,1
      • NormalizeLabel class: normalize label when creating training files with existing or new data makers
      • CustomRound class: Create custom set of normalized labels
  3. New utilities
    • RemoveColumn.py Removes a single column from the training set (as specified on command line)
    • InfoDatasets.py Provides information on training datasets
    • LabelFinder Find label corresponding to a predicted class from learning info file
  4. Bug fixes across the board, including K-means and SVM in SLP2.

20181023a

24 Oct 14:51
Compare
Choose a tag to compare

Changelog:

  1. SpectraLearnMachine v.1 is no longer under active development and it is superseded by SLP2
  2. SpectraLearnMachine Bug fixes:
    • Fixed prediction crash due to misuse of sklearn.labelEncoder inverse_transform (both for dnntf and keras)
    • In dnntf, checkpoint folder is now correctly saved inside the working folder.
  3. SpectraKeras: Major rewrite for both MLP and CNN. Features:
    • Each SpectraKeras_MLP and SpectraKeras_CNN can be installed system-wide through a wheel package.
    • Use INI config file, rather than rely on internal parameters
    • SpectraKeras can do prediction in addition to training. New flags (-t and -p at runtime)
    • Validation during training can be done using automatic cross-validation from training file or using external file
  4. Updated Utilities:
    • AddLinearbackground.py Added randomization of slope and normalization. Improved background addition algorithm.