- train layer instead of stack
- fixed downPass upPass git-svn-id: http://moon:8086/svn/software/trunk/projects/Rbm@645 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+3
-51
@@ -26,33 +26,6 @@
|
||||
#include "Layer.hpp"
|
||||
//[/Headers]
|
||||
|
||||
|
||||
class IRbmComponent
|
||||
{
|
||||
public:
|
||||
IRbmComponent *upper;
|
||||
IRbmComponent *lower;
|
||||
|
||||
IRbmComponent()
|
||||
: upper(nullptr)
|
||||
, lower(nullptr)
|
||||
{}
|
||||
virtual ~IRbmComponent()
|
||||
{
|
||||
}
|
||||
|
||||
virtual void downPass(arma::mat &dst, arma::mat const &src) = 0;
|
||||
virtual void upPass(arma::mat const &v) = 0;
|
||||
void registerRbm(IRbmComponent *pObj)
|
||||
{
|
||||
lower = pObj;
|
||||
pObj->upper = this;
|
||||
}
|
||||
virtual arma::mat const& getTopWeights() = 0;
|
||||
virtual arma::mat getConvolutedWeight(arma::mat const &h) = 0;
|
||||
virtual arma::mat const& getWeights() = 0;
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
/**
|
||||
//[Comments]
|
||||
@@ -64,7 +37,6 @@ public:
|
||||
class RbmComponent : public Component
|
||||
, public Layer
|
||||
, public DrawListener
|
||||
, public IRbmComponent
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
@@ -93,30 +65,10 @@ public:
|
||||
|
||||
void redrawReconstruction();
|
||||
|
||||
void downPass(arma::mat &dst, arma::mat const &src) override
|
||||
{
|
||||
DrawHidden->getData() = toHiddenProbs(src);
|
||||
if (lower)
|
||||
{
|
||||
lower->downPass(DrawHidden->getData(), DrawHidden->getData());
|
||||
}
|
||||
dst = toVisibleProbs(DrawHidden->getData());
|
||||
DrawHidden->DrawData();
|
||||
}
|
||||
|
||||
void upPass(arma::mat const &h) override
|
||||
{
|
||||
DrawReconstruction->getData() = toVisibleProbs(h);
|
||||
DrawReconstruction->DrawData();
|
||||
if (upper)
|
||||
{
|
||||
upper->upPass(DrawReconstruction->getData());
|
||||
}
|
||||
}
|
||||
void downPass(arma::mat const &v);
|
||||
void upPass(arma::mat const &v);
|
||||
|
||||
arma::mat const& getTopWeights() override;
|
||||
arma::mat getConvolutedWeight(arma::mat const &h) override;
|
||||
arma::mat const& getWeights() override;
|
||||
arma::mat getConvolutedWeight(arma::mat const &h);
|
||||
ScopedPointer<DrawComponent> DrawTraining;
|
||||
ScopedPointer<DrawComponent> DrawHidden;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user