RapidLib  v0.1.2
A simple library for interactive machine learning
baseModel.h
Go to the documentation of this file.
1 #ifndef baseModel_h
2 #define baseModel_h
3 
4 #include <vector>
5 #include "trainingExample.h"
6 
7 #ifndef EMSCRIPTEN
8 #include "json.h"
9 #endif
10 
12 class baseModel {
13 public:
14  virtual ~baseModel() {};
15  virtual double process(const std::vector<double> &inputVector) = 0;
16  virtual void train(const std::vector<trainingExample> &trainingSet) = 0;
17  virtual int getNumInputs() = 0;
18  virtual std::vector<int> getWhichInputs() = 0;
19 
20 #ifndef EMSCRIPTEN
21  virtual void getJSONDescription(Json::Value &currentModel) = 0;
22 
23 protected:
24  template<typename T>
25  Json::Value vector2json(T vec) {
26  Json::Value toReturn;
27  for (int i = 0; i < vec.size(); ++i) {
28  toReturn.append(vec[i]);
29  }
30  return toReturn;
31  }
32 #endif
33 
34 };
35 #endif
virtual double process(const std::vector< double > &inputVector)=0
virtual ~baseModel()
Definition: baseModel.h:14
virtual void getJSONDescription(Json::Value &currentModel)=0
virtual int getNumInputs()=0
virtual void train(const std::vector< trainingExample > &trainingSet)=0
virtual std::vector< int > getWhichInputs()=0
Json::Value vector2json(T vec)
Definition: baseModel.h:25
Definition: baseModel.h:12