52 lines
1.4 KiB
Matlab
52 lines
1.4 KiB
Matlab
|
|
display("training");
|
|
source("settings.m");
|
|
source("functions.m");
|
|
|
|
|
|
function files = getDataFiles(clsName, numPerClass)
|
|
|
|
global setDataDir;
|
|
global setTrainRuns;
|
|
|
|
dir = strcat(setDataDir, clsName, "/");
|
|
lst = readdir(dir);
|
|
files = {};
|
|
cnt = 0;
|
|
for i = 1:numel(lst)
|
|
filename = lst{i};
|
|
if (regexp(filename, ".m$")) # use only files ending with .m
|
|
file = strcat(dir, filename);
|
|
files = [files file];
|
|
++cnt;
|
|
if (cnt >= numPerClass) # use only x input files
|
|
break;
|
|
endif
|
|
endif
|
|
end
|
|
|
|
end
|
|
|
|
function samples = getSamplesForClass(clsName, numPerClass, start, percent)
|
|
files = getDataFiles(clsName, numPerClass);
|
|
samples = {};
|
|
for i = 1 : numel(files)
|
|
source(files{i});
|
|
samples = [samples getSamples(Gyro, Accel, Magnet, start, percent)]; # use gyro-sensor readings
|
|
end
|
|
display(strcat("training data for '", clsName, "': ", num2str(length(samples)), " samples"));
|
|
end
|
|
|
|
function data = getTrainData()
|
|
global setTrainRuns;
|
|
numPerClass = setTrainRuns;
|
|
data = {};
|
|
data{1}.samples = getSamplesForClass("forwardbend", numPerClass, 1500, 0.5);
|
|
data{2}.samples = getSamplesForClass("kneebend", numPerClass, 1500, 0.5);
|
|
data{3}.samples = getSamplesForClass("pushups", numPerClass, 1500, 0.5);
|
|
data{4}.samples = getSamplesForClass("situps", numPerClass, 1500, 0.5);
|
|
data{5}.samples = getSamplesForClass("jumpingjack", numPerClass, 1500, 0.5);
|
|
end
|
|
|
|
|