#include <Stack.h>
|
| | GRULayer (const ActivationConfig &activation, const ActivationConfig &inner_activation, const MatrixXd &W_z, const MatrixXd &U_z, const VectorXd &b_z, const MatrixXd &W_r, const MatrixXd &U_r, const VectorXd &b_r, const MatrixXd &W_h, const MatrixXd &U_h, const VectorXd &b_h) |
| virtual | ~GRULayer () |
| virtual MatrixXd | scan (const MatrixXd &) const override |
| void | step (const VectorXd &input, GRUState &) const |
Definition at line 277 of file Stack.h.
◆ GRULayer()
| lwtDev::GRULayer::GRULayer |
( |
const ActivationConfig & | activation, |
|
|
const ActivationConfig & | inner_activation, |
|
|
const MatrixXd & | W_z, |
|
|
const MatrixXd & | U_z, |
|
|
const VectorXd & | b_z, |
|
|
const MatrixXd & | W_r, |
|
|
const MatrixXd & | U_r, |
|
|
const VectorXd & | b_r, |
|
|
const MatrixXd & | W_h, |
|
|
const MatrixXd & | U_h, |
|
|
const VectorXd & | b_h ) |
Definition at line 550 of file Stack.cxx.
554 :
564 {
566
569 }
std::function< double(double)> m_inner_activation_fun
std::function< double(double)> m_activation_fun
std::function< double(double)> get_activation(lwtDev::ActivationConfig act)
◆ ~GRULayer()
| virtual lwtDev::GRULayer::~GRULayer |
( |
| ) |
|
|
inlinevirtual |
◆ scan()
| MatrixXd lwtDev::GRULayer::scan |
( |
const MatrixXd & | x | ) |
const |
|
overridevirtual |
Implements lwtDev::IRecurrentLayer.
Definition at line 598 of file Stack.cxx.
598 {
599
601
602 for(state.time = 0; state.time <
x.cols(); state.time++) {
603 step(
x.col( state.time ), state );
604 }
605
606 return state.h_t;
607 }
void step(const VectorXd &input, GRUState &) const
◆ step()
| void lwtDev::GRULayer::step |
( |
const VectorXd & | input, |
|
|
GRUState & | s ) const |
Definition at line 582 of file Stack.cxx.
582 {
583
584
587
588 int tm1 =
s.time == 0 ? 0 :
s.time - 1;
589 VectorXd h_tm1 =
s.h_t.col(tm1);
592 VectorXd rh =
r.cwiseProduct(h_tm1);
594 VectorXd
one = VectorXd::Ones(
z.size());
595 s.h_t.col(
s.time) =
z.cwiseProduct(h_tm1) + (
one -
z).cwiseProduct(hh);
596 }
◆ m_activation_fun
| std::function<double(double)> lwtDev::GRULayer::m_activation_fun |
|
private |
◆ m_b_h
| VectorXd lwtDev::GRULayer::m_b_h |
|
private |
◆ m_b_r
| VectorXd lwtDev::GRULayer::m_b_r |
|
private |
◆ m_b_z
| VectorXd lwtDev::GRULayer::m_b_z |
|
private |
◆ m_go_backwards
| bool lwtDev::IRecurrentLayer::m_go_backwards = false |
|
inherited |
◆ m_inner_activation_fun
| std::function<double(double)> lwtDev::GRULayer::m_inner_activation_fun |
|
private |
◆ m_n_outputs
| int lwtDev::GRULayer::m_n_outputs |
|
private |
◆ m_return_sequence
| bool lwtDev::IRecurrentLayer::m_return_sequence = false |
|
inherited |
◆ m_U_h
| MatrixXd lwtDev::GRULayer::m_U_h |
|
private |
◆ m_U_r
| MatrixXd lwtDev::GRULayer::m_U_r |
|
private |
◆ m_U_z
| MatrixXd lwtDev::GRULayer::m_U_z |
|
private |
◆ m_W_h
| MatrixXd lwtDev::GRULayer::m_W_h |
|
private |
◆ m_W_r
| MatrixXd lwtDev::GRULayer::m_W_r |
|
private |
◆ m_W_z
| MatrixXd lwtDev::GRULayer::m_W_z |
|
private |
The documentation for this class was generated from the following files: