YPC  0.2.0
enclave_iris_classifier.h
1 #include "../model.h"
2 #ifdef YPC_SGX
3 #include "ypc/core_t/analyzer/to_type.h"
4 #include "ypc/stbox/tsgx/log.h"
5 #else
6 #include <glog/logging.h>
7 #endif
8 #include <hpda/extractor/raw_data.h>
9 #include <hpda/output/memory_output.h>
10 #include <hpda/processor/processor_base.h>
11 #include <hpda/processor/transform/concat.h>
12 
13 
14 
16 public:
18 
19  inline stbox::bytes do_parse(const means_t &means,
20  const stbox::bytes &param) {
21  m_means = means.get<mean>();
23  double min = std::numeric_limits<double>::max();
24 
25  std::string class_id;
26  for (int i = 0; i < m_means.size(); ++i) {
28  idata, m_means[i].get<iris_data>());
29  if (d < min) {
30  class_id = m_means[i].get<cid>();
31  min = d;
32  }
33  }
34  stbox::bytes result;
35  if (min == std::numeric_limits<double>::max()) {
36  result += stbox::bytes("not found model");
37  } else {
38  result += stbox::bytes(class_id.data(), class_id.size());
39  result += " - ";
40  result += std::to_string(min);
41  result += "\n";
42  }
43 
44  LOG(INFO) << "result is: "
45  << std::string((const char *)result.data(), result.size());
46  return result;
47  }
48 
49 protected:
50  std::vector<mean_t> m_means;
51 };
enclave_iris_classifier
Definition: enclave_iris_classifier.h:15
hpda::euclidean
Definition: enclave_iris_parser.h:18
ypc::make_package
Definition: package.h:48