#c #gesture-recognition #training-data
#c #распознавание жестов #обучение-данные
Вопрос:
У меня есть файл данных классификации с меткой grt для разных жестов в разных файлах. Как мне создать объект GRT::ClassificationData с разными метками классов для каждого из входных файлов? Вот первые несколько строк двух разных файлов обучающих данных для 2 разных жестов:
GRT_LABELLED_CLASSIFICATION_DATA_FILE_V1.0
DatasetName: NOT_SET
InfoText:
NumDimensions: 3
TotalNumTrainingExamples: 654
NumberOfClasses: 1
ClassIDsAndCounters:
1 654 NOT_SET
UseExternalRanges: 0
LabelledTrainingData:
1 0.00681441 0.00192668 -0.999975
1 0.212607 -0.0418175 0.976243
1 0.105986 -0.0631664 0.992359
и
GRT_LABELLED_CLASSIFICATION_DATA_FILE_V1.0
DatasetName: NOT_SET
InfoText:
NumDimensions: 3
TotalNumTrainingExamples: 1336
NumberOfClasses: 1
ClassIDsAndCounters:
1 1336 NOT_SET
UseExternalRanges: 0
LabelledTrainingData:
1 -0.0139121 0.00375727 -0.999896
1 0.728981 0.675366 -0.111654
1 0.751433 0.629043 -0.199132
Я совершенно новичок в библиотеке GRT, пожалуйста, дайте немного подробный ответ (возможно, с примером?)
Ответ №1:
Вот что сработало для меня:
1. Загрузите каждый файл в разные экземпляры ClassificationData
//Load training data from different files
ClassificationData trainingData1;
ClassificationData trainingData2;
ClassificationData trainingData3;
trainingData1.loadDatasetFromFile("file1");
trainingData2.loadDatasetFromFile("file2");
trainingData3.loadDatasetFromFile("file3");
2. Переименуйте экземпляры в разные метки классов
//relabelling data before merging them
//optional step, depending on the data
trainingData2.relabelAllSamplesWithClassLabel(1,3);
trainingData3.relabelAllSamplesWithClassLabel(1,4);
3. Объединить все экземпляры ClassificationData
//Merging all data
trainingData1.merge(trainingData2);
trainingData1.merge(trainingData3);
Теперь есть один файл со всеми объединенными записями. Чтобы не повторять эти шаги повторно, сделайте это один раз и используйте saveDatasetToFile().