scaling.h
1// OpenNN: Open Neural Networks Library
2// www.opennn.net
3//
4// S T A T I S T I C S H E A D E R
5//
6// Artificial Intelligence Techniques, SL
7// artelnics@artelnics.com
8
9#ifndef SCALING_H
10#define SCALING_H
11
12// System includes
13
14#include <fstream>
15#include <iostream>
16#include <limits>
17#include <math.h>
18#include <vector>
19
20// OpenNN includes
21
22#include "config.h"
23#include "statistics.h"
24
25using namespace std;
26using namespace Eigen;
27
28namespace OpenNN
29{
31
32 enum class Scaler{NoScaling, MinimumMaximum, MeanStandardDeviation, StandardDeviation, Logarithm};
33
34 void scale_mean_standard_deviation(Tensor<type, 2>&, const Index&, const Descriptives&);
35 void scale_standard_deviation(Tensor<type, 2>&, const Index&, const Descriptives&);
36 void scale_minimum_maximum(Tensor<type, 2>&, const Index&, const Descriptives&, const type& = type(-1), const type& = type(1));
37
38 Tensor<type, 1> scale_minimum_maximum(const Tensor<type, 1>&);
39 Tensor<type, 2> scale_minimum_maximum(const Tensor<type, 2>&);
40
41 void scale_logarithmic(Tensor<type, 2>&, const Index&);
42 void scale_minimum_maximum_binary(Tensor<type, 2>&, const type&, const type&, const Index&);
43
44 void unscale_minimum_maximum(Tensor<type, 2>&, const Index&, const Descriptives&, const type& = type(-1), const type& = type(1));
45 void unscale_mean_standard_deviation(Tensor<type, 2>&, const Index&, const Descriptives&);
46 void unscale_standard_deviation(Tensor<type, 2>&, const Index&, const Descriptives&);
47 void unscale_logarithmic(Tensor<type, 2>&, const Index&);
48
49}
50
51#endif // STATISTICS_H
Extensions to the C++ standard library.
Definition: half.hpp:2325