OpenANN  1.1.0
An open source library for artificial neural networks.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DirectStorageDataSet.h
Go to the documentation of this file.
1 #ifndef OPENANN_IO_DIRECT_STORAGE_DATA_SET_H_
2 #define OPENANN_IO_DIRECT_STORAGE_DATA_SET_H_
3 #if __GNUC__ >= 4
4 #pragma GCC diagnostic ignored "-Wunused-parameter"
5 #endif
6 
7 #include <OpenANN/io/DataSet.h>
8 #include <OpenANN/io/Logger.h>
9 
10 class Stopwatch;
11 
12 namespace OpenANN
13 {
14 
15 class Evaluator;
16 
25 {
26 protected:
27  Eigen::MatrixXd* in;
28  Eigen::MatrixXd* out;
29  const int N;
30  const int D;
31  const int F;
32  Eigen::VectorXd temporaryInput;
33  Eigen::VectorXd temporaryOutput;
35 
36 public:
43  DirectStorageDataSet(Eigen::MatrixXd* in, Eigen::MatrixXd* out = 0,
44  Evaluator* evaluator = 0);
45  virtual int samples() { return N; }
46  virtual int inputs() { return D; }
47  virtual int outputs() { return F; }
48  virtual Eigen::VectorXd& getInstance(int i);
49  virtual Eigen::VectorXd& getTarget(int i);
50  virtual void finishIteration(Learner& learner);
51 };
52 
53 } // namespace OpenANN
54 
55 #endif // OPENANN_IO_DIRECT_STORAGE_DATA_SET_H_