<!--
{
  "availability" : [
    "*: -",
    "iOS: 14.0.0 -",
    "iPadOS: 14.0.0 -",
    "macCatalyst: -",
    "macOS: 11.0.0 -",
    "tvOS: 14.0.0 -",
    "visionOS: -",
    "watchOS: 7.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/BNNS/ActivationFunction",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "s:10Accelerate4BNNSO18ActivationFunctionO"
  },
  "title" : "BNNS.ActivationFunction"
}
-->

# BNNS.ActivationFunction

Constants that describe activation functions.

```
enum ActivationFunction
```

## Topics

### Activation Functions

[`case abs`](/documentation/Accelerate/BNNS/ActivationFunction/abs)

An activation function that returns the absolute value of its input.

[`case celu(alpha: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/celu(alpha:))

An activation function that evaluates the continuously differentiable exponential linear units (CELU) on its input.

[`case clamp(bounds: ClosedRange<Float>)`](/documentation/Accelerate/BNNS/ActivationFunction/clamp(bounds:))

An activation function that returns its input clamped to the specified range.

[`case clampedLeakyRectifiedLinear(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/clampedLeakyRectifiedLinear(alpha:beta:))

An activation function that returns its input clamped to beta when that is greater than or equal to zero, otherwise it returns its input multiplied by alpha clamped to beta.

[`case elu(alpha: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/elu(alpha:))

An activation function that evaluates the exponential linear units (ELU) on its input.

[`case geluApproximation(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/geluApproximation(alpha:beta:))

An activation function that evaluates the Gaussian error linear units (GELU) approximation on its input.

[`case geluApproximation2(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/geluApproximation2(alpha:beta:))

An activation function that provides a fast evaluation of the Gaussian error linear units (GELU) approximation on its input.

[`case gumbel(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/gumbel(alpha:beta:))

An activation function that returns random numbers from the Gumbel distribution.

[`case gumbelMax(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/gumbelMax(alpha:beta:))

An activation function that returns random numbers from the Gumbel distribution.

[`case hardShrink(alpha: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/hardShrink(alpha:))

An activation function that returns zero when the absolute input is less than alpha, otherwise it returns its input.

[`case hardSigmoid(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/hardSigmoid(alpha:beta:))

An activation function that returns the hard sigmoid function of its input.

[`case hardSwish(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/hardSwish(alpha:beta:))

An activation function that returns the hard swish function of its input.

[`case identity`](/documentation/Accelerate/BNNS/ActivationFunction/identity)

An activation function that returns its input.

[`case leakyRectifiedLinear(alpha: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/leakyRectifiedLinear(alpha:))

An activation function that returns its input when that is greater than or equal to zero, otherwise it returns its input multiplied by a specified value.

[`case linear(alpha: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/linear(alpha:))

An activation function that returns its input multiplied by a specified value.

[`case linearWithBias(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/linearWithBias(alpha:beta:))

An activation function that returns its input multiplied by a scale and added to a bias.

[`case logSigmoid`](/documentation/Accelerate/BNNS/ActivationFunction/logSigmoid)

An activation function that returns the logarithm of the sigmoid function of its input.

[`case logSoftmax`](/documentation/Accelerate/BNNS/ActivationFunction/logSoftmax)

An activation function that returns the logarithm of the softmax function of its input.

[`case rectifiedLinear`](/documentation/Accelerate/BNNS/ActivationFunction/rectifiedLinear)

An activation function that returns its input when that is greater than or equal to zero, otherwise it returns zero.

[`case scaledTanh(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/scaledTanh(alpha:beta:))

An activation function that returns the scaled hyperbolic tangent of its input.

[`case selu`](/documentation/Accelerate/BNNS/ActivationFunction/selu)

An activation function that evaluates the scaled exponential linear units (SELU) on its input.

[`case sigmoid`](/documentation/Accelerate/BNNS/ActivationFunction/sigmoid)

An activation function that returns the sigmoid function of its input.

[`case silu`](/documentation/Accelerate/BNNS/ActivationFunction/silu)

An activation function that returns the sigmoid linear unit (SiLU) function of its input.

[`case softShrink(alpha: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/softShrink(alpha:))

An activation function that returns zero when the absolute input is less than alpha, otherwise it returns its input minus alpha.

[`case softmax`](/documentation/Accelerate/BNNS/ActivationFunction/softmax)

An activation function that returns the softmax function of its input.

[`case softplus(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/softplus(alpha:beta:))

An activation function that returns the softplus function of its input.

[`case softsign`](/documentation/Accelerate/BNNS/ActivationFunction/softsign)

An activation function that returns the softsign function of its input.

[`case tanh`](/documentation/Accelerate/BNNS/ActivationFunction/tanh)

An activation function that returns the hyperbolic tangent of its input.

[`case tanhShrink`](/documentation/Accelerate/BNNS/ActivationFunction/tanhShrink)

An activation function that returns its input minus the hyperbolic tangent of its input.

[`case threshold(alpha: Float, beta: Float)`](/documentation/Accelerate/BNNS/ActivationFunction/threshold(alpha:beta:))

An activation function that returns beta if its input is less than a specified threshold, otherwise it returns its input.

### Instance Properties

[`var bnnsActivation: BNNSActivation`](/documentation/Accelerate/BNNS/ActivationFunction/bnnsActivation)

The underlying activation function.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)