/* * 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 "Layer.hpp" class Stack { public: Stack(const std::string &prjname); Stack(const Stack& orig); virtual ~Stack(); void addLayer(Layer *pLayer); Layer* 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); bool load(); bool save(); bool loadWeights(); bool saveWeights(); private: const std::string &m_prjname; Layer *m_pLayers; }; #endif /* STACK_HPP */