mltk

A Python package with command-line utilities and scripts to aid the development of machine learning models for Silicon Lab's embedded platforms

OTHER License

Downloads
2.3K
Stars
49
Committers
2

Bot releases are visible (Hide)

mltk - 0.20.0 Latest Release

Published by sldriedler 7 months ago

Updates

  • Adds support for Python3.11 and Python 3.12
  • Removes support for Python3.7 and Python3.8
  • Adds support for Tensorflow 2.16
  • Adds support for GCC 13
  • Adds support for BRD2705 platform
  • Adds support for GSDK 4.3.3
  • Adds support for latest Tensorflow-Lite Micro as of March 2024
mltk - 0.19.0

Published by sldriedler about 1 year ago

Updates

mltk - 0.18.0

Published by sldriedler about 1 year ago

New Datasets

  • On/Off - Synthetically generated keywords "on" and "off"
  • Yes/No - Synthetically generated keywords "yes" and "no"
  • Ten Digits - Synthetically generated keywords "zero" through "ninie"

New Tutorials

  • Model Quantization Tips - Provides tips on how to gain better quantization for your model
  • Quantized LSTM - Describes how to create a quantized keyword spotting model with an LSTM layer

New Models

New Examples

  • Audio Feature Generator Example - Shows how to manually process an audio sample in the Audio Feature Generator and run inference using TF-Lite and TF-Lite Micro

New Feature

Bug Fixes

  • Fixed issue with loading models with float32 inputs into audio_classifier app
  • Fixed issue with profiling Conv1D models
mltk - 0.17.0

Published by sldriedler over 1 year ago

Updates

mltk - 0.16.0

Published by sldriedler over 1 year ago

Fixes/Improvements

  • Fixed issue with model profiler not returning latency estimate when using the simulator
  • Updated TfliteModel.predict() API to support models with multiple inputs and outputs
  • Fixed issue with max_samples_per_class argument not properly updating class_counts dictionary in list_dataset_directory
mltk - 0.15.0

Published by sldriedler over 1 year ago

Tutorials

Models

Other Updates

mltk - 0.14.0

Published by sldriedler almost 2 years ago

New Tutorials

New Model

New Python APIs

  • Audio Dataset Generator - allows for generating a synthetic keyword audio datasets
  • UART Stream - allows for streaming binary data between a Python script and embedded device via UART
mltk - 0.13.0

Published by sldriedler almost 2 years ago

General Updates / Improvements

  • Updated to latest Tensorflowflow-Lite Micro as of November 2022
  • Updated to Gecko SDK 4.1.3
  • Removed dynamic installation of optional Python packages. Optional packages may now be installed with: pip install silabs-mltk[full]
  • Updated TfliteModel APIs to provide additional calculated parameters used by Tensorflowflow-Lite Micro
  • Added progress bar to evaluation CLI

Model / Dataset Updates

mltk - 0.12.0

Published by sldriedler about 2 years ago

New Features/Improvements

New Tutorials

New Examples

New Models

mltk - 0.11.0

Published by sldriedler about 2 years ago

Bug Fixes / Improvements

  • Fixed install error by removing direct dependency on the netron Python package
    Netron is now only installed when using the view_model API
  • Only automatically run .tflite model evaluation after training if the model specification supports .tflite model evaluation
  • Add better support for generating stack tracing during assertions triggered in Windows/Linux apps
mltk - 0.10.0

Published by sldriedler about 2 years ago

Bug Fixes/Improvements

  • Set tflite-support<0.4.2 in setup.py. This works around dependency issue where tflite-support>=0.4.2 requires flatbuffer>=2.0 while Tensorflow requires < 2.0
  • Fixed bug in AudioFeatureGenerator Python wrapper causing dynamic quantization during training to not work correctly
  • Re-trained keyword_spotting_on_off_v2 using fixed AudioFeatureGenerator Python wrapper
  • After training completes, do not automatically run evaluation if the model does not inherit EvaluateMixin
mltk - 0.9.0

Published by sldriedler about 2 years ago

New Features/Improvements

mltk - 0.8.0

Published by sldriedler over 2 years ago

New Features/Improvements

Bug Fixes

  • Fixed issue with reporting required tensor memory during profiling
  • Fixed issue with reporting unsupported layers when profiling on device
  • Fixed issue with recording audio when using activity detection block
  • Fixed issue with building MVP Python wrapper on Winodws
mltk - 0.7.0

Published by sldriedler over 2 years ago

General Updates

  • Updated to Gecko SDK 4.1.0
  • Updated to Tensorflow-Lite Micro June 8th, 2022
  • Updates to support Tensorflow-2.9

New Tutorials

See all tutorials here

New C++ Examples

See all C++ examples here

New Reference Models

See all reference models here

Other Changes

  • Added new settings Audio Feature Generator:
    • fe.activity_detection_enable - Enable the activity detection block. This indicates when activity, such as a speech command, is detected in the audio stream
    • fe.activity_detection_alpha_a - The activity detection “fast filter” coefficient. The filter is a 1-real pole IIR filter: computes out = (1-k)in + kout
    • fe.activity_detection_alpha_b - The activity detection “slow filter” coefficient. The filter is a 1-real pole IIR filter: computes out = (1-k)in + kout
    • fe.activity_detection_arm_threshold - The threshold for when there should be considered possible activity in the audio stream
    • fe.activity_detection_trip_threshold - The threshold for when activity is considered detected in the audio stream
    • fe.dc_notch_filter_enable - Enable the DC notch filter. This will help negate any DC components in the audio signal
    • fe.dc_notch_filter_coefficient - The coefficient used by the DC notch filter, DC notch filter coefficient k in Q(16,15) format, H(z) = (1 - z^-1)/(1 - k*z^-1)
    • fe.quantize_dynamic_scale_enable - Enable dynamic quantization of the generated audio spectrogram. With this, the max spectrogram value is mapped to +127, and the max spectrogram minus fe.quantize_dynamic_scale_range_db is mapped to -128. Anything below max spectrogram minus fe.quantize_dynamic_scale_range_db is mapped to -128.
    • fe.quantize_dynamic_scale_range_db - The dynamic range in dB used by the dynamic quantization
    • samplewise_norm.rescale - Value to scale each element of the sample: norm_sample = sample * . The model input dtype should be a float32
    • samplewise_norm.mean_and_std - Normalize the sample by the mean and standard deviation: norm_sample = (sample - mean(sample)) / std(sample). The model input dtype should be a float32