27 #ifndef MLPACK_METHODS_ANN_INIT_RULES_KATHIRVALAVAKUMAR_SUBAVATHI_INIT_HPP 28 #define MLPACK_METHODS_ANN_INIT_RULES_KATHIRVALAVAKUMAR_SUBAVATHI_INIT_HPP 71 const double s) : s(s)
73 dataSum = arma::sum(data % data);
85 void Initialize(arma::Mat<eT>& W,
const size_t rows,
const size_t cols)
87 arma::Row<eT> b = s * arma::sqrt(3 / (rows * dataSum));
88 const double theta = b.min();
102 arma::Row<eT> b = s * arma::sqrt(3 / (W.n_rows * dataSum));
103 const double theta = b.min();
117 template<
typename eT>
124 W.set_size(rows, cols, slices);
126 for (
size_t i = 0; i < slices; ++i)
136 template<
typename eT>
140 Log::Fatal <<
"Cannot initialize an empty cube." << std::endl;
142 for (
size_t i = 0; i < W.n_slices; ++i)
148 arma::rowvec dataSum;
161 static const bool UseLayer =
false;
void Initialize(arma::Cube< eT > &W, const size_t rows, const size_t cols, const size_t slices)
Initialize the elements of the specified weight 3rd order tensor with the Kathirvalavakumar-Subavathi...
void Initialize(arma::Mat< eT > &W, const size_t rows, const size_t cols)
Initialize the elements of the specified weight matrix with the Kathirvalavakumar-Subavathi method...
Linear algebra utility functions, generally performed on matrices or vectors.
KathirvalavakumarSubavathiInitialization(const arma::Mat< eT > &data, const double s)
Initialize the random initialization rule with the given values.
This class is used to initialize randomly the weight matrix.
The core includes that mlpack expects; standard C++ includes and Armadillo.
This class is used to initialize the weight matrix with the method proposed by T. ...
void Initialize(arma::Mat< eT > &W, const size_t rows, const size_t cols)
Initialize randomly the elements of the specified weight matrix.
static MLPACK_EXPORT util::PrefixedOutStream Fatal
Prints fatal messages prefixed with [FATAL], then terminates the program.
void Initialize(arma::Mat< eT > &W)
Initialize the elements of the specified weight matrix with the Kathirvalavakumar-Subavathi method...
This is a template class that can provide information about various initialization methods...
void Initialize(arma::Cube< eT > &W)
Initialize the elements of the specified weight 3rd order tensor with the Kathirvalavakumar-Subavathi...