MCPcopy Create free account
hub / github.com/biometrics/openbr / train

Method train

openbr/core/core.cpp:64–108  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

62 }
63
64 void train(const File &input, const QString &model)
65 {
66 qDebug("Training on %s%s", qPrintable(input.flat()),
67 model.isEmpty() ? "" : qPrintable(" to " + model));
68
69 QScopedPointer<Transform> trainingWrapper(br::wrapTransform(transform.data(), "Stream(readMode=DistributeFrames)"));
70 TemplateList data(TemplateList::fromGallery(input,false));
71
72 if (abs(Globals->crossValidate) > 1)
73 for (int i=data.size()-1; i>=0; i--)
74 if (data[i].file.get<bool>("allPartitions",false))
75 data.removeAt(i);
76
77 if (transform.isNull()) qFatal("Null transform.");
78 qDebug("%d Training Files", data.size());
79
80 Globals->startTime.start();
81
82 qDebug("Training Enrollment");
83 trainingWrapper->train(data);
84
85 if (!distance.isNull() && distance->trainable()) {
86 qDebug("Projecting Enrollment");
87 trainingWrapper->projectUpdate(data,data);
88
89 TemplateList distanceData;
90 for (int i=0; i<data.size(); i++)
91 if (!data[i].file.fte && !data[i].file.getBool("FTE"))
92 distanceData.append(data[i]);
93
94 data.clear();
95
96 qDebug("Training Comparison");
97 distance->train(distanceData);
98 }
99
100 if (!model.isEmpty()) {
101 qDebug("Storing %s", qPrintable(QFileInfo(model).fileName()));
102 store(model);
103 }
104
105 qDebug("Training Time: %s", qPrintable(QtUtils::toTime(Globals->startTime.elapsed()/1000.0f)));
106
107 simplifyTransform();
108 }
109
110 void simplifyTransform()
111 {

Callers 2

compareMethod · 0.45
TrainMethod · 0.45

Calls 15

toTimeFunction · 0.85
flatMethod · 0.80
isEmptyMethod · 0.80
get<bool>Method · 0.80
getBoolMethod · 0.80
elapsedMethod · 0.80
absFunction · 0.50
storeFunction · 0.50
dataMethod · 0.45
sizeMethod · 0.45
isNullMethod · 0.45
startMethod · 0.45

Tested by

no test coverage detected