Activations API
-
namespace activations
Enums
Functions
-
inline float relu(float x)
-
inline float sigmoid(float x)
-
inline float hard_tanh(float x)
-
inline float leaky_hardtanh(float x, float min_val, float max_val, float min_slope, float max_slope)
-
inline float fast_tanh(const float x)
-
inline float fast_sigmoid(const float x)
-
inline float leaky_relu(float x, float negative_slope)
-
inline float leaky_relu(float x)
-
inline float swish(float x)
-
inline float hardswish(float x)
-
inline float softsign(float x)
-
class Activation
- #include <activations.h>
Subclassed by nam::activations::ActivationFastTanh, nam::activations::ActivationHardSwish, nam::activations::ActivationHardTanh, nam::activations::ActivationIdentity, nam::activations::ActivationLeakyHardTanh, nam::activations::ActivationLeakyReLU, nam::activations::ActivationPReLU, nam::activations::ActivationReLU, nam::activations::ActivationSigmoid, nam::activations::ActivationSoftsign, nam::activations::ActivationSwish, nam::activations::ActivationTanh, nam::activations::FastLUTActivation, nam::gating_activations::IdentityActivation
Public Types
-
using Ptr = std::shared_ptr<Activation>
Public Functions
-
Activation() = default
-
virtual ~Activation() = default
-
inline virtual void apply(Eigen::MatrixXf &matrix)
-
inline virtual void apply(Eigen::Block<Eigen::MatrixXf> block)
-
inline virtual void apply(Eigen::Block<Eigen::MatrixXf, -1, -1, true> block)
-
virtual void apply(float *data, long size) = 0
Public Static Functions
-
static Ptr get_activation(const ActivationConfig &config)
-
static void enable_fast_tanh()
-
static void disable_fast_tanh()
-
static void enable_lut(std::string function_name, float min, float max, std::size_t n_points)
-
static void disable_lut(std::string function_name)
Public Static Attributes
-
static bool using_fast_tanh
-
using Ptr = std::shared_ptr<Activation>
-
struct ActivationConfig
- #include <activations.h>
Public Members
-
ActivationType type
-
std::optional<float> negative_slope
-
std::optional<std::vector<float>> negative_slopes
-
std::optional<float> min_val
-
std::optional<float> max_val
-
std::optional<float> min_slope
-
std::optional<float> max_slope
Public Static Functions
-
static ActivationConfig simple(ActivationType t)
-
static ActivationConfig from_json(const nlohmann::json &j)
-
ActivationType type
-
class ActivationFastTanh : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class ActivationHardSwish : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class ActivationHardTanh : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class ActivationIdentity : public nam::activations::Activation
- #include <activations.h>
-
class ActivationLeakyHardTanh : public nam::activations::Activation
- #include <activations.h>
-
class ActivationLeakyReLU : public nam::activations::Activation
- #include <activations.h>
-
class ActivationPReLU : public nam::activations::Activation
- #include <activations.h>
-
class ActivationReLU : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class ActivationSigmoid : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class ActivationSoftsign : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class ActivationSwish : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class ActivationTanh : public nam::activations::Activation
- #include <activations.h>
Public Functions
-
inline virtual void apply(float *data, long size) override
-
inline virtual void apply(float *data, long size) override
-
class FastLUTActivation : public nam::activations::Activation
- #include <activations.h>
-
inline float relu(float x)
-
class Activation
Subclassed by nam::activations::ActivationFastTanh, nam::activations::ActivationHardSwish, nam::activations::ActivationHardTanh, nam::activations::ActivationIdentity, nam::activations::ActivationLeakyHardTanh, nam::activations::ActivationLeakyReLU, nam::activations::ActivationPReLU, nam::activations::ActivationReLU, nam::activations::ActivationSigmoid, nam::activations::ActivationSoftsign, nam::activations::ActivationSwish, nam::activations::ActivationTanh, nam::activations::FastLUTActivation, nam::gating_activations::IdentityActivation
Public Types
-
using Ptr = std::shared_ptr<Activation>
Public Functions
-
Activation() = default
-
virtual ~Activation() = default
-
inline virtual void apply(Eigen::MatrixXf &matrix)
-
inline virtual void apply(Eigen::Block<Eigen::MatrixXf> block)
-
inline virtual void apply(Eigen::Block<Eigen::MatrixXf, -1, -1, true> block)
-
virtual void apply(float *data, long size) = 0
Public Static Functions
-
static Ptr get_activation(const std::string name)
-
static Ptr get_activation(const ActivationConfig &config)
-
static Ptr get_activation(const nlohmann::json &activation_config)
-
static void enable_fast_tanh()
-
static void disable_fast_tanh()
-
static void enable_lut(std::string function_name, float min, float max, std::size_t n_points)
-
static void disable_lut(std::string function_name)
Public Static Attributes
-
static bool using_fast_tanh
-
using Ptr = std::shared_ptr<Activation>
-
enum class nam::activations::ActivationType
Values:
-
enumerator Tanh
-
enumerator Hardtanh
-
enumerator Fasttanh
-
enumerator ReLU
-
enumerator LeakyReLU
-
enumerator PReLU
-
enumerator Sigmoid
-
enumerator SiLU
-
enumerator Hardswish
-
enumerator LeakyHardtanh
-
enumerator Softsign
-
enumerator Tanh
-
struct ActivationConfig
Public Members
-
ActivationType type
-
std::optional<float> negative_slope
-
std::optional<std::vector<float>> negative_slopes
-
std::optional<float> min_val
-
std::optional<float> max_val
-
std::optional<float> min_slope
-
std::optional<float> max_slope
Public Static Functions
-
static ActivationConfig simple(ActivationType t)
-
static ActivationConfig from_json(const nlohmann::json &j)
-
ActivationType type