Line data Source code
1 : #include "Activation.h" 2 : 3 : namespace elsa::ml 4 : { 5 : template <typename data_t> 6 0 : ActivationBase<data_t>::ActivationBase(Activation activation, const std::string& name) 7 : : Layer<data_t>(LayerType::Activation, name, Layer<data_t>::AnyNumberOfInputDimensions, 8 : /* allowed number of inputs */ 1), 9 0 : activation_(activation) 10 : { 11 0 : } 12 : 13 : template <typename data_t> 14 0 : Activation ActivationBase<data_t>::getActivation() const 15 : { 16 0 : return activation_; 17 : } 18 : 19 : template <typename data_t> 20 0 : Sigmoid<data_t>::Sigmoid(const std::string& name) 21 0 : : ActivationBase<data_t>(Activation::Sigmoid, name) 22 : { 23 0 : } 24 : 25 : template <typename data_t> 26 0 : Relu<data_t>::Relu(const std::string& name) : ActivationBase<data_t>(Activation::Relu, name) 27 : { 28 0 : } 29 : 30 : template <typename data_t> 31 0 : Tanh<data_t>::Tanh(const std::string& name) : ActivationBase<data_t>(Activation::Tanh, name) 32 : { 33 0 : } 34 : 35 : template <typename data_t> 36 0 : ClippedRelu<data_t>::ClippedRelu(const std::string& name) 37 0 : : ActivationBase<data_t>(Activation::ClippedRelu, name) 38 : { 39 0 : } 40 : 41 : template <typename data_t> 42 0 : Elu<data_t>::Elu(const std::string& name) : ActivationBase<data_t>(Activation::Elu, name) 43 : { 44 0 : } 45 : 46 : template <typename data_t> 47 0 : IdentityActivation<data_t>::IdentityActivation(const std::string& name) 48 0 : : ActivationBase<data_t>(Activation::Identity, name) 49 : { 50 0 : } 51 : 52 : template class ActivationBase<float>; 53 : template struct Sigmoid<float>; 54 : template struct Relu<float>; 55 : template struct Tanh<float>; 56 : template struct ClippedRelu<float>; 57 : template struct Elu<float>; 58 : template struct IdentityActivation<float>; 59 : } // namespace elsa::ml