.def("f",&activation_f_ndarray_1,(arg("self"),arg("z"),arg("res")),"Computes the activated value, given an input array ``z``, placing results in ``res`` (and returning it)")
.def("f",&activation_f_ndarray_2,(arg("self"),arg("z")),"Computes the activated value, given an input array ``z``. Returns a newly allocated array with the answers")
.def("f",&bob::machine::Activation::f,(arg("self"),arg("z")),"Computes the activated value, given an input ``z``")
.def("__call__",&activation_f_ndarray_1,(arg("self"),arg("z"),arg("res")),"Computes the activated value, given an input array ``z``, placing results in ``res`` (and returning it)")
.def("__call__",&activation_f_ndarray_2,(arg("self"),arg("z")),"Computes the activated value, given an input array ``z``. Returns a newly allocated array with the same size as ``z``")
.def("__call__",&bob::machine::Activation::f,(arg("self"),arg("z")),"Computes the activated value, given an input ``z``")
.def("f_prime",&activation_f_prime_ndarray_1,(arg("self"),arg("z"),arg("res")),"Computes the derivative of the activated value, placing results in ``res`` (and returning it)")
.def("f_prime",&activation_f_prime_ndarray_2,(arg("self"),arg("z")),"Computes the derivative of the activated value, given an input array ``z``. Returns a newly allocated array with the same size as ``z``")
.def("f_prime",&bob::machine::Activation::f_prime,(arg("self"),arg("z")),"Computes the derivative of the activated value.")
.def("f_prime_from_f",&activation_f_prime_from_f_ndarray_1,(arg("self"),arg("a"),arg("res")),"Computes the derivative of the activated value, given **the activated value** ``a``, placing results in ``res`` (and returning it)")
.def("f_prime_from_f",&activation_f_prime_from_f_ndarray_2,(arg("self"),arg("z")),"Computes the derivative of the activated value, given **the activated value** ``a``. Returns a newly allocated array with the same size as ``a`` with the answer.")
.def("f_prime_from_f",&bob::machine::Activation::f_prime_from_f,(arg("self"),arg("a")),"Computes the derivative of the activation value, given **the activated value** ``a``.")
"Returns a unique identifier, used by this class in connection to the Activation registry.")
.def("__str__",&bob::machine::Activation::str)
.def("__eq__",&activation_is_equal)
;
class_<bob::machine::IdentityActivation,boost::shared_ptr<bob::machine::IdentityActivation>,bases<bob::machine::Activation>>("IdentityActivation","Computes :math:`f(z) = z` as activation function",init<>((arg("self"))))
;
class_<bob::machine::LinearActivation,boost::shared_ptr<bob::machine::LinearActivation>,bases<bob::machine::Activation>>("LinearActivation","Computes :math:`f(z) = C \\cdot z` as activation function",init<optional<double>>((arg("self"),arg("C")=1.),"Builds a new linear activation function with a given constant. Don't use this if you just want to set constant to the default value (1.0). In such a case, prefer to use the more efficient :py:class:`bob.machine.IdentityActivation`."))
.add_property("C",&bob::machine::LinearActivation::C,"The multiplication factor for the linear function")
;
class_<bob::machine::HyperbolicTangentActivation,boost::shared_ptr<bob::machine::HyperbolicTangentActivation>,bases<bob::machine::Activation>>("HyperbolicTangentActivation","Computes :math:`f(z) = \\tanh(z)` as activation function",init<>((arg("self"))))
;
class_<bob::machine::MultipliedHyperbolicTangentActivation,boost::shared_ptr<bob::machine::MultipliedHyperbolicTangentActivation>,bases<bob::machine::Activation>>("MultipliedHyperbolicTangentActivation","Computes :math:`f(z) = C \\cdot \\tanh(Mz)` as activation function",init<optional<double,double>>((arg("self"),arg("C")=1.,arg("M")=1.),"Builds a new hyperbolic tangent activation fucntion with a given constant for the inner and outter products. Don't use this if you just want to set the constants to the default values (1.0). In such a case, prefer to use the more efficient :py:class:`bob.machine.HyperbolicTangentActivation`."))
.add_property("C",&bob::machine::MultipliedHyperbolicTangentActivation::C,"The outside multiplication factor for the hyperbolic tangent function")
.add_property("M",&bob::machine::MultipliedHyperbolicTangentActivation::M,"The inner multiplication factor for the argument")
;
class_<bob::machine::LogisticActivation,boost::shared_ptr<bob::machine::LogisticActivation>,bases<bob::machine::Activation>>("LogisticActivation","Computes :math:`f(z)=1/(1+ e^{-z})` as activation function",init<>((arg("self"))))