Go to the documentation of this file.
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;
void Initialize(arma::Cube< eT > &W)
Initialize the elements of the specified weight 3rd order tensor with the Kathirvalavakumar-Subavathi...
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.
static const bool UseLayer
This is true if the initialization method is used for a single layer.
Linear algebra utility functions, generally performed on matrices or vectors.
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...
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.
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.
static MLPACK_EXPORT util::PrefixedOutStream Fatal
Prints fatal messages prefixed with [FATAL], then terminates the program.
void Initialize(arma::Mat< eT > &W, const size_t rows, const size_t cols)
Initialize randomly the elements of the specified weight matrix.
This is a template class that can provide information about various initialization methods.
void Initialize(arma::Mat< eT > &W)
Initialize the elements of the specified weight matrix with the Kathirvalavakumar-Subavathi method.