<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/BNNSActivationFunction",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@EA@BNNSActivationFunction"
  },
  "title" : "BNNSActivationFunction"
}
-->

# BNNSActivationFunction

Constants that describe activation functions.

```
struct BNNSActivationFunction
```

## Topics

### Activation Functions

[`abs`](/documentation/Accelerate/BNNSActivationFunction/abs)

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

[`clamp`](/documentation/Accelerate/BNNSActivationFunction/clamp)

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

[`identity`](/documentation/Accelerate/BNNSActivationFunction/identity)

An activation function that returns its input.

[`integerLinearSaturate`](/documentation/Accelerate/BNNSActivationFunction/integerLinearSaturate)

An activation function that returns an arithmetic shift, preserving sign.

[`integerLinearSaturatePerChannel`](/documentation/Accelerate/BNNSActivationFunction/integerLinearSaturatePerChannel)

An activation function that returns an arithmetic shift, preserving sign for each channel.

[`leakyRectifiedLinear`](/documentation/Accelerate/BNNSActivationFunction/leakyRectifiedLinear)

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.

[`linear`](/documentation/Accelerate/BNNSActivationFunction/linear)

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

[`rectifiedLinear`](/documentation/Accelerate/BNNSActivationFunction/rectifiedLinear)

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

[`scaledTanh`](/documentation/Accelerate/BNNSActivationFunction/scaledTanh)

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

[`sigmoid`](/documentation/Accelerate/BNNSActivationFunction/sigmoid)

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

[`softmax`](/documentation/Accelerate/BNNSActivationFunction/softmax)

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

[`tanh`](/documentation/Accelerate/BNNSActivationFunction/tanh)

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

### Raw Values

[`init(_:)`](/documentation/Accelerate/BNNSActivationFunction/init(_:))

[`init(rawValue:)`](/documentation/Accelerate/BNNSActivationFunction/init(rawValue:))

[`rawValue`](/documentation/Accelerate/BNNSActivationFunction/rawValue)

[`BNNSActivationFunctionAbs`](/documentation/Accelerate/BNNSActivationFunctionAbs)

[`BNNSActivationFunctionCELU`](/documentation/Accelerate/BNNSActivationFunctionCELU)

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

[`BNNSActivationFunctionClamp`](/documentation/Accelerate/BNNSActivationFunction/BNNSActivationFunctionClamp)

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

[`BNNSActivationFunctionClampedLeakyRectifiedLinear`](/documentation/Accelerate/BNNSActivationFunctionClampedLeakyRectifiedLinear)

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.

[`BNNSActivationFunctionELU`](/documentation/Accelerate/BNNSActivationFunctionELU)

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

[`BNNSActivationFunctionErf`](/documentation/Accelerate/BNNSActivationFunctionErf)

[`BNNSActivationFunctionGELU`](/documentation/Accelerate/BNNSActivationFunctionGELU)

[`BNNSActivationFunctionGELUApproximation`](/documentation/Accelerate/BNNSActivationFunctionGELUApproximation)

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

[`BNNSActivationFunctionGELUApproximation2`](/documentation/Accelerate/BNNSActivationFunctionGELUApproximation2)

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

[`BNNSActivationFunctionGELUApproximationSigmoid`](/documentation/Accelerate/BNNSActivationFunctionGELUApproximationSigmoid)

[`BNNSActivationFunctionGumbel`](/documentation/Accelerate/BNNSActivationFunctionGumbel)

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

[`BNNSActivationFunctionGumbelMax`](/documentation/Accelerate/BNNSActivationFunctionGumbelMax)

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

[`BNNSActivationFunctionHardShrink`](/documentation/Accelerate/BNNSActivationFunctionHardShrink)

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

[`BNNSActivationFunctionHardSigmoid`](/documentation/Accelerate/BNNSActivationFunctionHardSigmoid)

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

[`BNNSActivationFunctionHardSwish`](/documentation/Accelerate/BNNSActivationFunctionHardSwish)

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

[`BNNSActivationFunctionIdentity`](/documentation/Accelerate/BNNSActivationFunctionIdentity)

[`BNNSActivationFunctionIntegerLinearSaturate`](/documentation/Accelerate/BNNSActivationFunction/BNNSActivationFunctionIntegerLinearSaturate)

An activation function that returns an arithmetic shift, preserving sign.

[`BNNSActivationFunctionIntegerLinearSaturatePerChannel`](/documentation/Accelerate/BNNSActivationFunction/BNNSActivationFunctionIntegerLinearSaturatePerChannel)

An activation function that returns an arithmetic shift, preserving sign for each channel.

[`BNNSActivationFunctionLeakyRectifiedLinear`](/documentation/Accelerate/BNNSActivationFunctionLeakyRectifiedLinear)

[`BNNSActivationFunctionLinear`](/documentation/Accelerate/BNNSActivationFunction/BNNSActivationFunctionLinear)

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

[`BNNSActivationFunctionLinearWithBias`](/documentation/Accelerate/BNNSActivationFunctionLinearWithBias)

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

[`BNNSActivationFunctionLogSigmoid`](/documentation/Accelerate/BNNSActivationFunctionLogSigmoid)

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

[`BNNSActivationFunctionLogSoftmax`](/documentation/Accelerate/BNNSActivationFunctionLogSoftmax)

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

[`BNNSActivationFunctionPReLUPerChannel`](/documentation/Accelerate/BNNSActivationFunctionPReLUPerChannel)

An activation function provides per-channel alpha values to Leaky Rectified Linear.

[`BNNSActivationFunctionRectifiedLinear`](/documentation/Accelerate/BNNSActivationFunctionRectifiedLinear)

[`BNNSActivationFunctionReLU6`](/documentation/Accelerate/BNNSActivationFunctionReLU6)

[`BNNSActivationFunctionScaledTanh`](/documentation/Accelerate/BNNSActivationFunctionScaledTanh)

[`BNNSActivationFunctionSELU`](/documentation/Accelerate/BNNSActivationFunctionSELU)

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

[`BNNSActivationFunctionSigmoid`](/documentation/Accelerate/BNNSActivationFunctionSigmoid)

[`BNNSActivationFunctionSiLU`](/documentation/Accelerate/BNNSActivationFunctionSiLU)

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

[`BNNSActivationFunctionSoftmax`](/documentation/Accelerate/BNNSActivationFunction/BNNSActivationFunctionSoftmax)

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

[`BNNSActivationFunctionSoftplus`](/documentation/Accelerate/BNNSActivationFunctionSoftplus)

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

[`BNNSActivationFunctionSoftShrink`](/documentation/Accelerate/BNNSActivationFunctionSoftShrink)

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

[`BNNSActivationFunctionSoftsign`](/documentation/Accelerate/BNNSActivationFunctionSoftsign)

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

[`BNNSActivationFunctionTanh`](/documentation/Accelerate/BNNSActivationFunctionTanh)

[`BNNSActivationFunctionTanhShrink`](/documentation/Accelerate/BNNSActivationFunctionTanhShrink)

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

[`BNNSActivationFunctionThreshold`](/documentation/Accelerate/BNNSActivationFunctionThreshold)

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



---

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)