Package rawDeepLearningClassifier
Class RawDLParams
java.lang.Object
rawDeepLearningClassifier.RawDLParams
- All Implemented Interfaces:
Serializable
,Cloneable
Basic parameters for deep learning module.
- Author:
- Jamie Macaulay
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionshort
The class name index.Uuuruggh.boolean
True to enable segmentation.boolean
The deep learning classifier can accept multiple types of data unit that contain a raw data chunk e.g.Holds channel and grouping informationdouble
The maximum buffer time.int
The maximum number of samples a merged classified data unit can be.int
The currently selected Deep Learning model.The current model URI.int
The number of raw samples to send to the classifier.int
The hop size i.e.static final long
boolean
True to use the data selector to pre-filter detections (but only if the input is a detection data block) -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionclone()
Set the model parameters.void
setModelParameters
(Serializable modelParameters) Set the model parameters.
-
Field Details
-
serialVersionUID
public static final long serialVersionUID- See Also:
-
modelSelection
public int modelSelectionThe currently selected Deep Learning model. (Models are now automatically selected). -1 means no model selected. -
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
Holds channel and grouping information -
enableSegmentation
public boolean enableSegmentationTrue 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 rawSampleSizeThe number of raw samples to send to the classifier. -
sampleHop
public int sampleHopThe hop size i.e. how far to move forward in raw data before sending another chunk of data to the classifier. -
maxMergeHops
public int maxMergeHopsThe 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 forceSaveThe 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 maxBufferTimeThe 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 useDataSelectorTrue to use the data selector to pre-filter detections (but only if the input is a detection data block) -
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 classNameIndexThe class name index. i.e. the number of unique class names that have been added.
-
-
Constructor Details
-
RawDLParams
public RawDLParams()
-
-
Method Details
-
clone
-
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
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
-