Closed nebgnahz closed 8 years ago
Only the last stage of featureDataReady is being considered when training pipeline for TimeSeriesClassificationData. In the loop:
featureDataReady
TimeSeriesClassificationData
for(UINT moduleIndex=0; moduleIndex<featureExtractionModules.size(); moduleIndex++)
the pipeline iterates through all feature extraction modules and featureDataReady is overwritten every time. This would be a problem in scenarios like the following:
GRT::FFT fft(512, 128, 1, GRT::FFT::HAMMING_WINDOW, true, false); GRT::FFTFeatures fft_feature(256); pipeline.addFeatureExtractionModule(fft); pipeline.addFeatureExtractionModule(fft_feature); pipeline.setClassifier(SVM(SVM::LINEAR_KERNEL, SVM::C_SVC, true, true));
Although FFT result isn't ready in the first 512 samples, the FFTFeatures is computed anyway and the flag is then turned true.
FFT
FFTFeatures
Was this issue fixed in the merge?
Yes, you merged it (https://github.com/nickgillian/grt/commit/e9b1148556f78576c0de176aeca88f599e507ee8) and from my experiment, this seems to work.
Only the last stage of
featureDataReady
is being considered when training pipeline forTimeSeriesClassificationData
. In the loop:the pipeline iterates through all feature extraction modules and
featureDataReady
is overwritten every time. This would be a problem in scenarios like the following:Although
FFT
result isn't ready in the first 512 samples, theFFTFeatures
is computed anyway and the flag is then turned true.