Skip to content
Merged
Prev Previous commit
Update scaled_exponential_linear_unit.py
  • Loading branch information
AdarshAcharya5 authored Sep 6, 2023
commit 76a11d1ff74c89ccf19b4b7684920d3978e2ceb9
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,26 @@


def scaled_exponential_linear_unit(
vector: np.ndarray, alpha: float = 1.6732, _lambda: float = 1.0507
vector: np.ndarray, alpha: float = 1.6732, lambda_: float = 1.0507
) -> np.ndarray:
"""
Applies the Scaled Exponential Linear Unit function to each element of the vector.
Parameters :
vector : np.ndarray
alpha : float (default = 1.6732)
_lambda : float (default = 1.0507)
lambda_ : float (default = 1.0507)

Returns : np.ndarray
Formula : f(x) = _lambda * x if x > 0
_lambda * alpha * (e**x - 1) if x <= 0
Formula : f(x) = lambda_ * x if x > 0
lambda_ * alpha * (e**x - 1) if x <= 0
Examples :
>>> scaled_exponential_linear_unit(vector=np.array([1.3, 3.7, 2.4]))
array([1.36591, 3.88759, 2.52168])

>>> scaled_exponential_linear_unit(vector=np.array([1.3, 4.7, 8.2]))
array([1.36591, 4.93829, 8.61574])
"""
return _lambda * np.where(vector > 0, vector, alpha * (np.exp(vector) - 1))
return lambda_ * np.where(vector > 0, vector, alpha * (np.exp(vector) - 1))


if __name__ == "__main__":
Expand Down