Home | Develop | Download | Contact
MaxPoolingLayer.hpp
1 /*
2  * MaxPoolingLayer.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 
32 #ifndef __PDS_MAXPOOLINGLAYER_HPP__
33 #define __PDS_MAXPOOLINGLAYER_HPP__
34 
35 #include <string>
36 #include <Pds/Ra>
37 #include <Pds/AbstractLayer>
38 
48 namespace Pds{
49 
50 
60 {
61 
62 public:
63  Pds::Size PoolSize;
64 
65 public:
66 
77 
84  MaxPoolingLayer(unsigned int LinPool,unsigned int ColPool);
85 
93 
95 
101 public:
112  bool IsEmpty(void) const;
113 
114 
120  Pds::Shape GetInputShape(void) const;
121 
122 
128  Pds::Shape GetOutputShape(const Pds::Shape &In) const;
134 public:
154  bool ExportXmlToStream(std::ofstream &myfile) const;
155 
169  std::string ExportXmlToString(void) const;
170 
185  bool ImportXmlFromString( const std::string &str);
186 
191 public:
192 
216  Pds::TensorBlock PredictTensor(const Pds::TensorBlock &In) const;
217 
218 
219 
238  std::vector<Pds::Matrix> Predict(const std::vector<Pds::Matrix> &In) const;
246 public:
257  void Print(std::string str="") const;
258 
259 
264  void MakeEmpty(void);
265 
266 
273  {
274  return new Pds::MaxPoolingLayer(*this);
275  }
276 
280 }; // Class MaxPoolingLayer
281 
282 } // namespace Pds
283 
284 
289 #endif
290 
La clase tipo Pds::AbstractLayer . 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::string MaxPoolingLayer
Tag de un objeto de tipo Pds::MaxPoolingLayer.
Definition: NnDefines.hpp:160
Pds::Shape GetOutputShape(const Pds::Shape &In) const
Retorna el Shape de salida de la estructura.
Pds::AbstractLayer * Clone(void)
Retorna un puntero (generado con new) a una nuevo dirección de memoria con una copia del objeto actua...
MaxPoolingLayer(void)
Crea un objeto de tipo Pds::MaxPoolingLayer nulo.
Pds::Shape GetInputShape(void) const
Retorna el Shape de entrada de la estructura, si no importa el elemento es -1.
std::vector< Pds::Matrix > Predict(const std::vector< Pds::Matrix > &In) const
Evalua la capa de la CNN.
bool ImportXmlFromString(const std::string &str)
Carga los datos de la capa.
MaxPoolingLayer(unsigned int LinPool, unsigned int ColPool)
Crea un objeto de tipo Pds::MaxPoolingLayer.
MaxPoolingLayer(const Pds::MaxPoolingLayer &A)
Crea un objeto de tipo Pds::MaxPoolingLayer copiando datos desde otro.
void Print(std::string str="") const
Muestra en pantalla el contenido de Pds::MaxPoolingLayer, elementos separados por tabulador.
Pds::TensorBlock PredictTensor(const Pds::TensorBlock &In) const
Evalua la capa de la CNN.
void MakeEmpty(void)
Limpia el objeto.
bool ExportXmlToStream(std::ofstream &myfile) const
Salva los datos de la capa en un std::ofstream en formato Xml.
std::string ExportXmlToString(void) const
Salva los datos de la capa en un std::string en formato Xml.
bool IsEmpty(void) const
Retorna true si la capa esta vacia o false si no.
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