From b84fafa496b1c5982541dcd24d33c59c148918ec Mon Sep 17 00:00:00 2001 From: Maximilian Pochapski <67759684+mxpoch@users.noreply.github.com> Date: Mon, 11 Aug 2025 15:40:14 -0400 Subject: [PATCH 1/2] added leakyrelu --- src/special/misc.jl | 1 + test/runtests.jl | 1 + 2 files changed, 2 insertions(+) diff --git a/src/special/misc.jl b/src/special/misc.jl index 0e851008..7d1749d4 100644 --- a/src/special/misc.jl +++ b/src/special/misc.jl @@ -87,6 +87,7 @@ end pow_by_square(x, StaticInt(N)) # @inline relu(x) = (y = zero(x); ifelse(x > y, x, y)) @inline relu(x) = (y = zero(x); ifelse(x < y, y, x)) +@inline leakyrelu(x, a = 0.01) = (y = zero(x); ifelse(x < y, x*a, x)) Base.sign(v::AbstractSIMD) = ifelse(v > 0, one(v), -one(v)) diff --git a/test/runtests.jl b/test/runtests.jl index 7afe72e4..91deabf7 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1056,6 +1056,7 @@ include("testsetup.jl") trunc, round, VectorizationBase.relu, + VectorizationBase.leakyrelu, abs2, Base.FastMath.abs2_fast, Base.FastMath.sub_fast, From 5f22015952aebf349a93c61ac744314a7b10c30e Mon Sep 17 00:00:00 2001 From: Maximilian Pochapski <67759684+mxpoch@users.noreply.github.com> Date: Mon, 11 Aug 2025 17:11:52 -0400 Subject: [PATCH 2/2] leakyrelu: fixed type conversion --- src/special/misc.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/special/misc.jl b/src/special/misc.jl index 7d1749d4..3ea2023c 100644 --- a/src/special/misc.jl +++ b/src/special/misc.jl @@ -87,7 +87,7 @@ end pow_by_square(x, StaticInt(N)) # @inline relu(x) = (y = zero(x); ifelse(x > y, x, y)) @inline relu(x) = (y = zero(x); ifelse(x < y, y, x)) -@inline leakyrelu(x, a = 0.01) = (y = zero(x); ifelse(x < y, x*a, x)) +@inline leakyrelu(x, a = 0.01) = (y = zero(x); a = convert(typeof(x), a); ifelse(x < y, x*a, x)) Base.sign(v::AbstractSIMD) = ifelse(v > 0, one(v), -one(v))