Class KetosClassifier

java.lang.Object
rawDeepLearningClassifier.dlClassification.StandardClassifierModel
rawDeepLearningClassifier.dlClassification.ketos.KetosClassifier
All Implemented Interfaces:
PamSettings, SettingsNameProvider, DLClassiferModel

public class KetosClassifier extends StandardClassifierModel
Classifier which uses deep learning models from Meridian's Ketos framework.

Ketos uses TensorFlow models and packages them inside a zipped .ktpb file which contains a JSON file for the transforms and a .pb model. Users can select a .ktpb file - PAMGaurd will decompress it, find the JSON file, set up the transforms and load the model.

Details on Meridians framework can be found at https://meridian.cs.dal.ca/2015/04/12/ketos/

Author:
Jamie Macaulay
  • Field Details

    • MODEL_NAME

      public static String MODEL_NAME
  • Constructor Details

    • KetosClassifier

      public KetosClassifier(DLControl dlControl)
      The ketos classifier.
  • Method Details

    • getName

      public String getName()
      Description copied from interface: DLClassiferModel
      Get the name of the model.
      Returns:
      the name of the model.
    • getModelUI

      public DLCLassiferModelUI getModelUI()
      Description copied from interface: DLClassiferModel
      Get any UI components for the model. Can be null.
      Returns:
      UI components for the model.
    • getDLWorker

      public DLModelWorker<StandardPrediction> getDLWorker()
      Description copied from class: StandardClassifierModel
      Get the sound spot worker.
      Specified by:
      getDLWorker in class StandardClassifierModel
      Returns:
      the sound spot worker.
    • getDLParams

      public StandardModelParams getDLParams()
      Description copied from class: StandardClassifierModel
      Get the sound spot worker.
      Specified by:
      getDLParams in class StandardClassifierModel
      Returns:
      the sound spot worker.
    • getKetosParams

      public KetosDLParams getKetosParams()
      Get the parameters for the Ketos classifier.
      Parameters:
      ketosDLParams - - the Ketos parameters.
    • setKetosParams

      public void setKetosParams(KetosDLParams ketosDLParams)
      Set the Ketos parameters.
      Parameters:
      ketosDLParams - - the parameters to set.
    • getDLModelSettings

      public Serializable getDLModelSettings()
      Description copied from interface: DLClassiferModel
      A settings object that can be saved.
      Returns:
      the settings object.
    • getKetosWorker

      public KetosWorker getKetosWorker()
      Get the KetosWorker. this handles loading and running the Ketos model.
      Returns:
      the Ketos worker.
    • getUnitName

      public String getUnitName()
      Returns:
      A Name specific to this instance of the particular class, e.g. Sperm whale detector, Beaked whale detector, etc.
    • getUnitType

      public String getUnitType()
      Returns:
      A Name specific to the type, e.g. Click detector
    • getSettingsReference

      public Serializable getSettingsReference()
      Returns:
      The serialisable object that will be stored
    • getSettingsVersion

      public long getSettingsVersion()
      Returns:
      An integer version number for the settings
    • restoreSettings

      public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings)
      Returns:
      true if successful The object performs final checks (if needed) and then casts the settings data pamcontrolledunitSettings.settings into the correct type and uses as required
    • isModelType

      public boolean isModelType(URI uri)
      Description copied from interface: DLClassiferModel
      Check whether a URI is compatible with a classification framework
      Parameters:
      uri - - the URI to the model
      Returns:
      true if the model is compatible.