Class RawDLParams

java.lang.Object
rawDeepLearningClassifier.RawDLParams
All Implemented Interfaces:
Serializable, Cloneable

public class RawDLParams extends Object implements Serializable, Cloneable
Basic parameters for deep learning module.
Author:
Jamie Macaulay
See Also:
  • Field Details

    • serialVersionUID

      public static final long serialVersionUID
      See Also:
    • modelSelection

      public int modelSelection
      The currently selected Deep Learning model. (Models are now automatically selected). -1 means no model selected.
    • modelURI

      public URI modelURI
      The current model URI. The deep learning model must have some sort of external file to run. This might be a model, a .exe file etc.
    • groupedSourceParams

      public GroupedSourceParameters groupedSourceParams
      Holds channel and grouping information
    • enableSegmentation

      public boolean enableSegmentation
      True to enable segmentation. If segmentation is disabled then the raw waveform from a data unit is passed directly to the model. Note that this is not an option for raw sound data.
    • rawSampleSize

      public int rawSampleSize
      The number of raw samples to send to the classifier.
    • sampleHop

      public int sampleHop
      The hop size i.e. how far to move forward in raw data before sending another chunk of data to the classifier.
    • maxMergeHops

      public int maxMergeHops
      The maximum number of samples a merged classified data unit can be. if this is the same as rawSampleSize then data units are never merged. It must be a multiple of rawSampleSize.
    • forceSave

      public boolean forceSave
      The deep learning classifier can accept multiple types of data unit that contain a raw data chunk e.g. raw data, clicks, clips etc. By default the classifier saves new data units if the source is raw data. However, if the data unit is an already processed data unit, e.g. a click detection, then the results are saved as an annotation to that unit. If forceSave is st true then new data units are created no matter what the source data is.
    • maxBufferTime

      public double maxBufferTime
      The maximum buffer time. This is the maximum time between the start of the first and last grouped raw data unit in the classification buffer before all data is sent to the deep learning classifier.
    • useDataSelector

      public boolean useDataSelector
      True to use the data selector to pre-filter detections (but only if the input is a detection data block)
    • classNameMap

      public ArrayList<DLClassName> classNameMap
      Uuuruggh. Spent a lot of time thinking about this. Different models have different class names. If we change model then the class names may change. Previously annotated data will then be messed up. But, in a giant dataset that may be an issue. Perhaps users wish to run a new model on some chunk of data without messing up all the other classified detections which have used that module. So store the data in binary files? That is super inefficient as the same string is stored many times. So instead store a short which identifies the string that sits in this table. Everytime a new model is added add new classnames. Note that this means we have a maximum of 32k names - we will come to that issue when it arises...
    • classNameIndex

      public short classNameIndex
      The class name index. i.e. the number of unique class names that have been added.
  • Constructor Details

    • RawDLParams

      public RawDLParams()
  • Method Details

    • clone

      public RawDLParams clone()
    • getModelParameters

      public Serializable getModelParameters()
      Set the model parameters. These aren't really needed in here are aren't really used except when the parameters are serialized to XML for book keeping.
      Parameters:
      modelParameters -
    • setModelParameters

      public void setModelParameters(Serializable modelParameters)
      Set the model parameters. These aren't really needed in here are aren't really used except when the parameters are serialized to XML for book keeping.
      Parameters:
      modelParameters - the modelParameters to set