13#include <NeMachineLearningLib.h>
14#include <MachineLearning/IGradientOptimizationMethod.h>
18 namespace MachineLearning
49 iNumPseudos = numPseudos;
50 iNumHidden = numHiddenDimensions;
81 friend class boost::serialization::access;
83 template<
class Archive>
84 void serialize(Archive& ar,
unsigned int version)
88 ar& BOOST_SERIALIZATION_NVP(iNumPseudos);
89 ar& BOOST_SERIALIZATION_NVP(iNumHidden);
101 template<
typename Scalar>
214 IModel(
int numData,
int numDimension, ModelType type);
228 friend class boost::serialization::access;
230 template<
class Archive>
231 void serialize(Archive& ar,
unsigned int version)
233 ar& BOOST_SERIALIZATION_NVP(iN);
234 ar& BOOST_SERIALIZATION_NVP(iD);
235 ar& BOOST_SERIALIZATION_NVP(iBatchSize);
236 ar& BOOST_SERIALIZATION_NVP(afIndexes);
237 ar& BOOST_SERIALIZATION_NVP(mType);
238 ar& BOOST_SERIALIZATION_NVP(m_dType);
252 void SaveModel(
const std::string& file, T* model)
254 std::ofstream ofs(file.c_str(), std::ios::binary);
255 boost::archive::binary_oarchive oa(ofs);
256 oa << BOOST_SERIALIZATION_NVP(*model);
271 T* LoadModel(
const std::string& file)
274 std::ifstream ifs(file.c_str(), std::ios::binary);
275 boost::archive::binary_iarchive ia(ifs);
276 ia >> BOOST_SERIALIZATION_NVP(*model);
278 model->UpdateParameters();
Description of the layer.
int GetNumPseudoInputs()
Gets number pseudo inputs.
HiddenLayerDescription(int numPseudos, int numHiddenDimensions)
Constructor.
int GetNumHiddenDimensions()
Gets number hidden dimensions.
Base class with abstract and basic function definitions. All models will be derived from this class.
virtual void UpdateParameters()=0
Updates the parameters.
IModel(int numData, int numDimension, ModelType type)
Constructor.
virtual void SetBatchSize(int size)
Sets batch size.
void SetIndexes(af::array &indexes)
Sets the batch indexes.
int GetBatchSize()
Gets batch size.
virtual void SetParameters(const af::array ¶m)=0
Sets the parameters for each optimization iteration.
af::array afIndexes
indexes of /f$\mathbf{X}/f$ for batch learning
virtual int GetNumParameters()=0
Gets number of parameters to be optimized.
int GetDataDimensionality()
Gets data dimensionality.
virtual af::array GetParameters()=0
Gets the parameters for each optimization iteration.
ModelType GetModelType()
Gets model type.
int GetDataLenght()
Gets data lenght.
af::dtype m_dType
floating point precision flag for af::array
virtual Scalar Function(const af::array &x, af::array &outGradient)
Cost function the given x inputs.
int iBatchSize
size of the batch