truck-code
model.h
1 // * model.h
3 // *
4 // * @author Abdul Rahman Kreidieh
5 // * @version 1.0.0
6 // * @date February 24, 2019
7 // */
8 //
9 //#ifndef INCLUDE_VISION_MODEL_H_
10 //#define INCLUDE_VISION_MODEL_H_
11 //
12 //#include <vector>
13 //#include <tuple>
14 //#include <Eigen/Dense>
15 //#include <MiniDNN.h>
16 //
17 //using namespace MiniDNN;
18 //using namespace Eigen;
19 //using namespace std;
20 //
21 //
23 //#define NoNonlinearity 0
24 //#define ReLUNonlinearity 1
25 //
26 //
27 //class VisionModel
28 //{
29 //private:
30 // Network _net;
31 // vector<Layer*> _layers; /** list of neural network layers */
32 // int _inputs; /** number of inputs to the first layer */
33 // int _outputs; /** number of outputs from the last layer */
34 // int _num_layers; /** number of the layers in the network */
35 //
36 //public:
37 // VisionModel(int inputs);
38 // virtual ~VisionModel();
39 //
40 // /** Add a fully connected layer.
41 // *
42 // * @param units number of nodes in the new layer
43 // * @param activation output non-linearity
44 // */
45 // virtual void add_fc(int units, int activation=NoNonlinearity);
46 //
47 // /** Add a batch normalization layer. */
48 // virtual void add_batchnorm();
49 //
50 // /** Add a convolutional layer.
51 // *
52 // * @param f filter size
53 // * @param s stride
54 // * @param p padding
55 // * @param nc number of channels
56 // * @param activation output non-linearity
57 // */
58 // virtual void add_conv(int f, int s, int p, int nc, int activation=NoNonlinearity);
59 //
60 // /** Add a pooling layer.
61 // *
62 // * @param f filter size
63 // * @param s stride
64 // */
65 // virtual void add_pooling(int f, int s);
66 //
67 // /** Import a list of weights into the layers of the network.
68 // *
69 // * @params weights
70 // * the weights for each layer of the neural network
71 // */
72 // virtual void import(vector<MatrixXd> weights);
73 //
74 // /** Perform a forward pass on the model.
75 // *
76 // * @param input
77 // * input to the neural network
78 // * @returns
79 // * the output from the neural network
80 // */
81 // virtual MatrixXd compute(MatrixXd input);
82 //};
83 //
84 //
85 //VisionModel::VisionModel(int inputs) {
86 // this->_inputs = inputs;
87 // this->_num_layers = 0;
88 // this->_outputs = 0;
89 //}
90 //
91 //
92 //VisionModel::~VisionModel() {
93 // for (int i=0; i<this->_num_layers; i++)
94 // delete this->_layers[i];
95 //}
96 //
97 //class MobileNet : public VisionModel
98 //{
99 //
100 //};
101 //
102 //
103 //class MobileNetV2 : public VisionModel
104 //{
105 //
106 //};
107 //
108 //
109 //#endif /* INCLUDE_VISION_MODEL_H_ */