Filter Plugin For Large Discharge (LD) Prediction In Centrifuge

foglamp-filter-ADM-LD-prediction predicts the need for large discharge in centrifuge.

1. Setting up your artifacts

The artifacts needs to be compressed into .tar format for their usage in LD prediction filter.

The files can be compressed as following.

├── ld_ae_float32.tflite
├── ae_min_max_scaler.pkl
└── ae_model_data.npy

# Archive using the following command
(ae_models) $ tar cvzf tflite_autoencoder.tar.gz *


Currently, the selection of respective artifacts is based on file extension.

  • Scaler: .pkl

  • ML Model: .tflite

  • Model Metadata: .npy

2. Setting up bucket

ML Model Upload Screen

  1. Make sure foglamp-gui-ml-models and foglamp-service-bucket is installed. If not, install these.

  2. Click on “ML Models” in FogLAMP GUI

  3. Click on import, and set the appropriate values. Additionally, add an attribute “type” with value “model”. Then upload the compressed file prepared above. e.g.

Name: "ADM LD prediction AE model"
Architecture: All
Hardware: cpu
Version: "1.0"
type: "model"
Description: ""
File: "ae_models/tflite_autoencoder.tar.gz"

3. Setting up plugin configuration

Configuring the filter, starts with selecting the filter and giving an application name for it. The screen will look like the following.

Plugin Screen 1

Following this the next sceen will have the plugin configuration as shown below:

Plugin Screen 2 Section 1

  • ‘Asset from which vibration data is read’: type: `string` default: ‘vibration’:

    The asset name under which readings are to be monitored.

  • ‘Output asset indicating centrifuge health’: type: `string` default: ‘centrifugeHealth’:

    The asset name under which need for a large discharge (LD) is reported.

  • ‘Comma separated TS and Data channel(s)’: type: `string` default: ‘user_ts,Channel0,Channel1,Channel2’:

    comma separated list of columns for (1) time series, (2) first data channel, (3) second data channel, (4) third data channel, and (5) fourth data channel

  • ‘Sampling rate (per sec)’: type: `integer` default: ‘8000’:

    The sampling rate of the incoming signal.

  • ‘Model type’: type: `enumeration` default: ‘Autoencoder’:

    Model to use for predicting need for LD - Presently only ‘Autoencoder’ option is available here.

  • ‘Enable Edge TPU’: type: `boolean` default: ‘false’ readonly=’true’ ‘validity’: “modelType == ‘Autoencoder’”,:

    Whether to use edge TPU for model inferencing.

  • ‘Forward data’: type: `boolean` default: ‘false’:

    Whether to forward original vibration data down the filter chain.

  • ‘Vibration data evaluation interval’: type: `string` default: ‘30min’:

    Time interval after which to evaluate vibration data through the model. (time interval string must be supported by pandas.to_timedelta API e.g. 15s, 30m, 2hr, 1day 4hr 30m 10s

  • ‘Number of consecutive evaluations to consider (set)’: type: `integer` default: ‘10’:

    Number of consecutive evaluations to consider at above specified interval. This forms an observation set.

  • ‘Number of anomalous evaluations in set to declare anomaly’: type: `integer` default: ‘8’:

    Number of anomalous evaluations in total number of evaluations in set above.

Plugin Screen 2 Section 2

  • ‘Model archive name’: type: `string` default: ‘Model Archive’:

    Archive containing models that is to be picked from bucket service.

  • ‘Model version’: type: `string` default: ‘1.0’:

    Archive version as stored in bucket.

Click on Done when ready.

See Also

foglamp-filter-edgeml - Filter which takes image data, calls out to ML process, and forwards the inference from ML as asset contents.

foglamp-filter-expression - A FogLAMP processing filter plugin that applies a user define formula to the data as it passes through the filter

foglamp-filter-fft - A FogLAMP processing filter plugin that calculates a Fast Fourier Transform across sensor data

foglamp-filter-log - A FogLAMP filter that converts the readings data to a logarithmic scale. This is the example filter used in the plugin developers guide.

foglamp-filter-normalise - Normalise the timestamps of all readings that pass through the filter. This allows data collected at different rate or with skewed timestamps to be directly compared.

foglamp-filter-python35 - A FogLAMP processing filter that allows Python 3 code to be run on each sensor value.

foglamp-filter-rms - A FogLAMP processing filter plugin that calculates RMS value for sensor data

foglamp-filter-scale-set - A FogLAMP processing filter plugin that applies a set of sale factors to the data

foglamp-filter-specgram - FogLAMP filter to generate spectrogram images for vibration data

foglamp-filter-statistics - Generic statistics filter for FogLAMP data that supports the generation of mean, mode, median, minimum, maximum, standard deviation and variance.

foglamp-filter-vibration_features - A filter plugin that takes a stream of vibration data and generates a set of features that characterise that data

foglamp-south-Expression - A FogLAMP south plugin that uses a user define expression to generate data

foglamp-south-digiducer - South plugin for the Digiducer 333D01 vibration sensor

foglamp-south-dt9837 - A south plugin for the Data Translation DT9837 Series DAQ