Home | Develop | Download | Contact
NnDefines.hpp
1 /*
2  * NnDefines.hpp
3  *
4  * Copyright 2018 Fernando Pujaico Rivera <fernando.pujaico.rivera@gmail.com>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19  * MA 02110-1301, USA.
20  *
21  */
22 
31 #ifndef __PDS_NNDEFINES_HPP__
32 #define __PDS_NNDEFINES_HPP__
33 
34 #include <iostream>
35 #include <cstring>
36 #include <cmath>
37 #include <ctime>
38 #include <vector>
39 #include <map>
40 #include <Pds/Ra>
41 
42 
52 namespace Pds{
53 namespace Nn{
54 
63  const unsigned int StringPrecision=14;
64 
69  extern double(*DefaultActFunc)(double) ;
70 
75  extern double(*DefaultDActFunc)(double) ;
76 
77 
81  const std::map<double(*)(double),std::string> LabelFuncMap
82  ={ {NULL,"NULL"},
83  {Pds::Sigmoid ,"Pds::Sigmoid"},
84  {Pds::DSigmoid ,"Pds::DSigmoid"},
85  {Pds::Tanh ,"Pds::Tanh"},
86  {Pds::DTanh ,"Pds::DTanh"},
87  {Pds::Identity ,"Pds::Identity"},
88  {Pds::DIdentity ,"Pds::DIdentity"},
89  {Pds::ReLU ,"Pds::ReLU"},
90  {Pds::DReLU ,"Pds::DReLU"},
91  {Pds::LeakyReLU ,"Pds::LeakyReLU"},
92  {Pds::DLeakyReLU,"Pds::DLeakyReLU"},
93  {Pds::ELU ,"Pds::ELU"},
94  {Pds::DELU ,"Pds::DELU"},
95  {Pds::SoftPlus ,"Pds::SoftPlus"},
96  {Pds::DSoftPlus ,"Pds::DSoftPlus"},
97  {Pds::SoftSign ,"Pds::SoftSign"},
98  {Pds::DSoftSign ,"Pds::DSoftSign"}
99  };
100 
101 
105  const std::vector<double(*)(double)> FuncVector
106  ={ NULL,
107  Pds::Sigmoid ,
108  Pds::DSigmoid ,
109  Pds::Tanh ,
110  Pds::DTanh ,
111  Pds::Identity ,
112  Pds::DIdentity ,
113  Pds::ReLU ,
114  Pds::DReLU ,
115  Pds::LeakyReLU ,
116  Pds::DLeakyReLU,
117  Pds::ELU ,
118  Pds::DELU ,
119  Pds::SoftPlus ,
120  Pds::DSoftPlus ,
121  Pds::SoftSign ,
122  Pds::DSoftSign
123  };
129 namespace Tag{
130 
131 
139  const std::string Conv1DLayer="Conv2DLayer";
140 
144  const std::string Conv2DLayer="Conv2DLayer";
145 
149  const std::string FCLayer="FCLayer";
150 
154  const std::string FlattenLayer="FlattenLayer";
155 
156 
160  const std::string MaxPoolingLayer="MaxPoolingLayer";
161 
165  const std::string FCNn="FCNn";
166 
167 
171  const std::string CustomCNn="CustomCNn";
172 
173 
177 }
178 
179 
180 }
181 }
182 
188 #endif /* __PDS_NNDEFINES_HPP__ */
La clase tipo Pds::Conv1DLayer . Esta clase genera un objeto con parametros. Para usar incluir <Pds/C...
Definition: Conv1DLayer.hpp:61
La clase tipo Pds::Conv2DLayer . Esta clase genera un objeto con parametros. Para usar incluir <Pds/C...
Definition: Conv2DLayer.hpp:61
La clase tipo Pds::CustomCNn . Esta clase genera un objeto con layers. Para usar incluir <Pds/CustomC...
Definition: CustomCNn.hpp:60
La clase tipo Pds::FCLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: FCLayer.hpp:61
La clase tipo Pds::FCNn . Esta clase genera un objeto con dos parametros Nlin y Ncol....
Definition: FCNn.hpp:62
La clase tipo Pds::FlattenLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
La clase tipo Pds::MaxPoolingLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
const std::map< double(*)(double), std::string > LabelFuncMap
Definition: NnDefines.hpp:82
const std::vector< double(*)(double)> FuncVector
Definition: NnDefines.hpp:106
double(* DefaultDActFunc)(double)
const unsigned int StringPrecision
Definition: NnDefines.hpp:63
double(* DefaultActFunc)(double)
Nombre de espacion para PDS (Procesamiento Digital de Senales)
Definition: FCLayer.hpp:48

Enlaces de interés

HomePage Bazaar Download Bug report Ayuda Developer Feed