/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ /* * File: Stack.hpp * Author: jens * * Created on 25. Oktober 2019, 18:26 */ #ifndef STACK_HPP #define STACK_HPP #include #include #include #include #include "RbmLayer.hpp" class Stack { public: Stack(const std::string &prjname); Stack(const Stack& orig); virtual ~Stack(); void addLayer(RbmLayer *pLayer); RbmLayer* getLayer(size_t layerId) const; void train(size_t layerId, const arma::mat& batch, size_t miniBatchSize, size_t numEpochs, Rbm::IListener* pListener); void train(const arma::mat& batch, size_t miniBatchSize, size_t numEpochs, Rbm::IListener* pListener); void save(size_t numTraining); void saveWeights(); private: const std::string &m_prjname; RbmLayer *m_pLayers; }; #endif /* STACK_HPP */