Python API¶
This section includes information for using the pure Python API of
bob.learn.activation
.
-
class
bob.learn.activation.
Activation
¶ Bases:
object
Base class for activation functors.
Warning
You cannot instantiate an object of this type directly, you must use it through one of the inherited types.
Warning
You cannot create classes in Python that derive from this one and expect them to work fine with the C++ code, as no hook is implemented as of this time to allow for this. You must create a class that inherits from the C++
bob::learn::activation::Activation
in C++ and then bind it to Python like we have done for the classes available in these bindings.-
f
(z[, res]) → array | scalar¶ Computes the activated value, given an input array or scalar
z
, placing results inres
(and returning it).If
z
is an array, then you can pass another array inres
to store the results and, in this case, we won’t allocate a new one for that purpose. This can be a speed-up in certain scenarios. Note this does not work for scalars as it makes little sense to avoid scalar allocation at this level.If you decide to pass an array in
res
, note this array should have the exact same dimensions as the input arrayz
. It is an error otherwise.Note
This method only accepts 64-bit float arrays as input or output.
-
f_prime
(z[, res]) → array | scalar¶ Computes the derivative of the activated value, given an input array or scalar
z
, placing results inres
(and returning it).If
z
is an array, then you can pass another array inres
to store the results and, in this case, we won’t allocate a new one for that purpose. This can be a speed-up in certain scenarios. Note this does not work for scalars as it makes little sense to avoid scalar allocation at this level.If you decide to pass an array in
res
, note this array should have the exact same dimensions as the input arrayz
. It is an error otherwise.Note
This method only accepts 64-bit float arrays as input or output.
-
f_prime_from_f
(a[, res]) → array | scalar¶ Computes the derivative of the activated value, given the derivative value
a
, placing results inres
(and returning it).If
a
is an array, then you can pass another array inres
to store the results and, in this case, we won’t allocate a new one for that purpose. This can be a speed-up in certain scenarios. Note this does not work for scalars as it makes little sense to avoid scalar allocation at this level.If you decide to pass an array in
res
, note this array should have the exact same dimensions as the input arraya
. It is an error otherwise.Note
This method only accepts 64-bit float arrays as input or output.
-
load
(f) → None¶ Loads itself from a
bob.io.base.HDF5File
-
save
(f) → None¶ Saves itself to a
bob.io.base.HDF5File
-
-
class
bob.learn.activation.
HyperbolicTangent
→ new HyperbolicTangent¶ Bases:
bob.learn.activation.Activation
Computes \(f(z) = \tanh(z)\) as activation function.
-
class
bob.learn.activation.
Identity
→ new Identity activation functor¶ Bases:
bob.learn.activation.Activation
Computes \(f(z) = z\) as activation function.
-
class
bob.learn.activation.
Linear
([C=1.0]) → new linear activation functor¶ Bases:
bob.learn.activation.Activation
Computes \(f(z) = C \cdot z\) as activation function.
The constructor 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
Identity
activation.-
C
¶ The multiplication factor for the linear function (read-only)
-
-
class
bob.learn.activation.
Logistic
→ new Logistic activation functor¶ Bases:
bob.learn.activation.Activation
Computes \(f(z) = 1/(1+ e^{-z})\) as activation function.
-
class
bob.learn.activation.
MultipliedHyperbolicTangent
([C=1.0[, M=1.0]]) → new multiplied hyperbolic tangent functor¶ Bases:
bob.learn.activation.Activation
Computes \(f(z) = C \cdot \tanh(Mz)\) as activation function.
Builds a new hyperbolic tangent activation function 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
HyperbolicTangent
activation.-
C
¶ The outter multiplication factor for the multiplied hyperbolic tangent function (read-only).
-
M
¶ The inner multiplication factor for the multiplied hyperbolic tangent function (read-only).
-