Example #1
0
    /*!
     * \brief Flip the matrix horizontally and vertically, in place.
     */
    derived_t& fflip_inplace() {
        static_assert(etl_traits<derived_t>::dimensions() <= 2, "Impossible to fflip a matrix of D > 2");

        if constexpr (is_2d<derived_t>) {
            as_derived().ensure_cpu_up_to_date();

            std::reverse(as_derived().begin(), as_derived().end());
        }
Example #2
0
 double train_denoising(NIterator noisy_it, NIterator noisy_end, CIterator clean_it, CIterator clean_end, std::size_t max_epochs, Args... args) {
     dll::rbm_trainer<parent_t, EnableWatcher, RW, true> trainer(args...);
     return trainer.train(as_derived(),
                          noisy_it, noisy_end,
                          clean_it, clean_end,
                          max_epochs);
 }
Example #3
0
    auto train_forward_one(const Input& input) const {
        // Prepare one fully-ready output
        auto output = prepare_one_ready_output(as_derived(), input);

        // Forward propagation
        train_forward_one(output, input);

        // Return the forward-propagated result
        return output;
    }
Example #4
0
 void load(std::istream& is) {
     load(is, as_derived());
 }
Example #5
0
 void load(const std::string& file) {
     load(file, as_derived());
 }
Example #6
0
 void store(std::ostream& os) const {
     store(os, as_derived());
 }
Example #7
0
 void store(const std::string& file) const {
     store(file, as_derived());
 }
Example #8
0
 void display_hidden_unit_samples() const {
     display_hidden_unit_samples(as_derived());
 }
Example #9
0
 void print()
 {
     as_derived().print_impl();
 }
Example #10
0
 double train_denoising(const Samples& noisy, const Samples& clean, std::size_t max_epochs, Args... args) {
     dll::rbm_trainer<parent_t, EnableWatcher, RW, true> trainer(args...);
     return trainer.train(as_derived(), noisy.begin(), noisy.end(), clean.begin(), clean.end(), max_epochs);
 }
Example #11
0
 void reconstruct(const Sample& items) {
     reconstruct(items, as_derived());
 }
Example #12
0
    derived_t& scale_inplace(E&& e) {
        as_derived() *= e;

        return as_derived();
    }
Example #13
0
 void select_forward_one(Output&& output, const Input& input) const {
     if constexpr (Train) {
         as_derived().train_forward_batch(batch_reshape(output), batch_reshape(input));
     } else {
Example #14
0
 void train_forward_one(Output&& output, const Input& input) const {
     as_derived().train_forward_batch(batch_reshape(output), batch_reshape(input));
 }
Example #15
0
 double train(const Samples& training_data, std::size_t max_epochs, Args... args) {
     dll::rbm_trainer<parent_t, EnableWatcher, RW, false> trainer(args...);
     return trainer.train(as_derived(), training_data.begin(), training_data.end(), max_epochs);
 }
Example #16
0
 double train(Iterator&& first, Iterator&& last, std::size_t max_epochs, Args... args) {
     dll::rbm_trainer<parent_t, EnableWatcher, RW, false> trainer(args...);
     return trainer.train(as_derived(), std::forward<Iterator>(first), std::forward<Iterator>(last), max_epochs);
 }
Example #17
0
 void display_visible_unit_activations() const {
     display_visible_unit_activations(as_derived());
 }
Example #18
0
 void display_visible_unit_samples() const {
     display_visible_unit_samples(as_derived());
 }
Example #19
0
 ComponentAccessNonConstReturnType operator [] (ComponentIndex const &i) { return as_derived().Derived::operator[](i); }