#include "Activation.h" namespace TNet { void Sigmoid::PropagateFnc(const BfMatrix& X, BfMatrix& Y) { //Y = 1/(1+e^{-X}) for(size_t r=0; r& X, Matrix& Y) { const Matrix& out = GetOutput(); //Y = OUT*(1-OUT)*X //ODVOZENO for(size_t r=0; r> mDim; mDimOffset.Init(mDim.Dim()+1); int off=0; for(int i=0; i -0.1 && sum < 0.1) { BfSubVector y_i_smx_j(Y[i].Range(mDimOffset[j],mDim[j])); y_i_smx_j.Copy(x_i_smx_j); } else if (sum > 0.9 && sum < 1.1) { ; //do nothing } else { KALDI_ERR << "Invalid sum: " << sum; } } } // X.CheckData("BlockSoftmax BackpropagateFnc X"); // Y.CheckData("BlockSoftmax BackpropagateFnc Y"); } } //namespace TNet