Home | Develop | Download | Contact
CustomCNn.hpp
1 /*
2  * CustomCNn.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_CUSTOMCNN_HPP__
32 #define __PDS_CUSTOMCNN_HPP__
33 
34 #include <string>
35 #include <vector>
36 #include <Pds/Ra>
37 #include <Pds/AbstractLayer>
38 
48 namespace Pds{
49 
50 
59 class CustomCNn
60 {
61 
62 private:
63  // Número de capas de entrada
64  unsigned int Nch;
65 
66  // Numero de lineas de la imagen de entrada
67  unsigned int Nlin;
68 
69  // Numero de columnas de la imagen de entrada
70  unsigned int Ncol;
71 
72  // Numero de objetos derivados de AbstractLayer.
73  std::vector<Pds::AbstractLayer*> L;
74 public:
75 
86  CustomCNn(void);
87 
93  CustomCNn(unsigned int Nch,unsigned int Nlin, unsigned int Ncol);
94 
96 
101 public:
111  bool Add(Pds::AbstractLayer* Layer);
116 public:
126  Pds::TensorBlock PredictTensor(const Pds::TensorBlock &In);
127 
132 public:
156  bool ExportXmlToStream(std::ofstream &myfile) const;
157 
175  std::string ExportXmlToString(void) const;
176 
188  //bool ImportXmlFromString( const std::string &str);
189 
195 public:
206  bool IsEmpty(void) const;
207 
208 
213  void MakeEmpty(void);
214 
220  Pds::Shape GetInputShape(void) const;
221 
222 
228  Pds::Shape GetOutputShape(const Pds::Shape &In) const;
234 public:
245  void Print(std::string str="") const;
246 
250 }; // Class CustomCNn
251 
252 } // namespace Pds
253 
254 
259 #endif
260 
La clase tipo Pds::AbstractLayer . Esta clase genera un objeto con dos parametros Nlin y Ncol....
La clase tipo Pds::CustomCNn . Esta clase genera un objeto con layers. Para usar incluir <Pds/CustomC...
Definition: CustomCNn.hpp:60
unsigned int Nlin
Definition: CustomCNn.hpp:67
unsigned int Ncol
Definition: CustomCNn.hpp:70
std::vector< Pds::AbstractLayer * > L
Definition: CustomCNn.hpp:73
unsigned int Nch
Definition: CustomCNn.hpp:64
bool IsEmpty(void) const
Retorna true si la red está vacia o false si no.
Pds::Shape GetInputShape(void) const
Retorna el Shape de entrada de la estructura, si no importa el elemento es -1.
void MakeEmpty(void)
Limpia el objeto.
Pds::TensorBlock PredictTensor(const Pds::TensorBlock &In)
Evalua la CustomCNn.
CustomCNn(void)
Crea un objeto de tipo Pds::CustomCNn nulo con 0 entradas.
CustomCNn(unsigned int Nch, unsigned int Nlin, unsigned int Ncol)
Crea un objeto de tipo Pds::CustomCNn con Nch entradas, Nlin lineas y Ncol columnas.
Pds::Shape GetOutputShape(const Pds::Shape &In) const
Retorna el Shape de salida de la estructura.
std::string ExportXmlToString(void) const
Salva los datos de la capa en un std::string en formato Xml.
bool ExportXmlToStream(std::ofstream &myfile) const
Salva los datos de la capa en un std::ofstream en formato Xml.
bool Add(Pds::AbstractLayer *Layer)
Agrega una layer a la CustomCNn.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::CustomCNn, elementos separados por tabulador.
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