<commit_before>//=======================================================================
// Copyright (c) 2014 <NAME>
// Distributed under the terms of the MIT License.
// (See accompanying file LICENSE or copy at
//  http://opensource.org/licenses/MIT)
//=======================================================================

#ifndef DBN_RBM_BASE_HPP
#define DBN_RBM_BASE_HPP

namespace dll {

/*!
 * \brief Base class for Restricted Boltzmann Machine.
 *
 * It only contains configurable properties that are used by each
 * version of RBM.
 */
template<typename Layer>
class rbm_base {
public:
    typedef double weight;
    typedef double value_t;

    using conf = Layer;

    //Configurable properties
    weight learning_rate = 1e-1;        //<! The learning rate

    weight initial_momentum = 0.5;      //<! The initial momentum
    weight final_momentum = 0.9;        //<! The final momentum applied after *final_momentum_epoch* epoch
    weight final_momentum_epoch = 6;    //<! The epoch at which momentum change

    weight momentum = 0;                //<! The current momentum

    weight weight_cost = 0.0002;        //<! The weight cost for weight decay

    weight sparsity_target = 0.01;      //<! The sparsity target
    weight decay_rate = 0.99;           //<! The sparsity decay rate
    weight sparsity_cost = 1.0;         //<! The sparsity cost (or sparsity multiplier)

    //No copying
    rbm_base(const rbm_base& rbm) = delete;
    rbm_base& operator=(const rbm_base& rbm) = delete;

    //No moving
    rbm_base(rbm_base&& rbm) = delete;
    rbm_base& operator=(rbm_base&& rbm) = delete;

    rbm_base(){
        //Nothing to do
    }
};

} //end of dbn namespace

#endif<commit_msg>Fix Doxygen comments (Thanks Clang)<commit_after>//=======================================================================
// Copyright (c) 2014 <NAME>
// Distributed under the terms of the MIT License.
// (See accompanying file LICENSE or copy at
//  http://opensource.org/licenses/MIT)
//=======================================================================

#ifndef DBN_RBM_BASE_HPP
#define DBN_RBM_BASE_HPP

namespace dll {

/*!
 * \brief Base class for Restricted Boltzmann Machine.
 *
 * It only contains configurable properties that are used by each
 * version of RBM.
 */
template<typename Layer>
class rbm_base {
public:
    typedef double weight;
    typedef double value_t;

    using conf = Layer;

    //Configurable properties
    weight learning_rate = 1e-1;        ///<! The learning rate

    weight initial_momentum = 0.5;      ///<! The initial momentum
    weight final_momentum = 0.9;        ///<! The final momentum applied after *final_momentum_epoch* epoch
    weight final_momentum_epoch = 6;    ///<! The epoch at which momentum change

    weight momentum = 0;                ///<! The current momentum

    weight weight_cost = 0.0002;        ///<! The weight cost for weight decay

    weight sparsity_target = 0.01;      ///<! The sparsity target
    weight decay_rate = 0.99;           ///<! The sparsity decay rate
    weight sparsity_cost = 1.0;         ///<! The sparsity cost (or sparsity multiplier)

    //No copying
    rbm_base(const rbm_base& rbm) = delete;
    rbm_base& operator=(const rbm_base& rbm) = delete;

    //No moving
    rbm_base(rbm_base&& rbm) = delete;
    rbm_base& operator=(rbm_base&& rbm) = delete;

    rbm_base(){
        //Nothing to do
    }
};

} //end of dbn namespace

#endif
{'fraction_non_alphanumeric': 0.17789991321955453, 'fraction_numerical': 0.014463407578825572, 'mean_word_length': 2.911764705882353, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5596308', 'n_tokens_mistral': 1082, 'n_tokens_neox': 951, 'n_words': 323}