# Функции активации

Пользовательские функции активации для поддержки различных моделей в 🤗 Diffusers.

## GELU[[diffusers.models.activations.GELU]]

#### diffusers.models.activations.GELU[[diffusers.models.activations.GELU]]

```python
diffusers.models.activations.GELU(dim_in: int, dim_out: int, approximate: str = 'none', bias: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/activations.py#L65)

**Параметры:**

dim_in (`int`) : количество каналов на входе.

dim_out (`int`) : Количество каналов на выходе.

approximate (`str`, *необязательный*, по умолчанию `"none"`) : Если `"tanh"`, используется приближение tanh.

bias (`bool`, по умолчанию True) : Использовать ли смещение (bias) в линейном слое.

Функция активации GELU с поддержкой аппроксимации tanh при `approximate="tanh"`.

## GEGLU[[diffusers.models.activations.GEGLU]]

#### diffusers.models.activations.GEGLU[[diffusers.models.activations.GEGLU]]

```python
diffusers.models.activations.GEGLU(dim_in: int, dim_out: int, bias: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/activations.py#L90)

**Параметры:**

dim_in (`int`) : количество каналов на входе.

dim_out (`int`) : Количество каналов на выходе.

bias (`bool`, по умолчанию True) : Использовать ли смещение (bias) в линейном слое.

Вариант функции активации [gated linear unit](https://huggingface.co/papers/2002.05202).

## ApproximateGELU[[diffusers.models.activations.ApproximateGELU]]

#### diffusers.models.activations.ApproximateGELU[[diffusers.models.activations.ApproximateGELU]]

```python
diffusers.models.activations.ApproximateGELU(dim_in: int, dim_out: int, bias: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/activations.py#L143)

**Параметры:**

dim_in (`int`) : количество каналов на входе.

dim_out (`int`) : Количество каналов на выходе.

bias (`bool`, по умолчанию True) : Использовать ли смещение (bias) в линейном слое.

Приближённая форма функции активации Gaussian Error Linear Unit (GELU). Дополнительные сведения см. в разделе 2 этой [статьи](https://huggingface.co/papers/1606.08415).

## SwiGLU[[diffusers.models.activations.SwiGLU]]

#### diffusers.models.activations.SwiGLU[[diffusers.models.activations.SwiGLU]]

```python
diffusers.models.activations.SwiGLU(dim_in: int, dim_out: int, bias: bool = True)
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/activations.py#L120)

**Параметры:**

dim_in (`int`) : количество каналов на входе.

dim_out (`int`) : Количество каналов на выходе.

bias (`bool`, по умолчанию True) : Использовать ли смещение (bias) в линейном слое.

Вариант функции активации [gated linear unit](https://huggingface.co/papers/2002.05202). Похожа на `GEGLU`, но использует SiLU / Swish вместо GeLU.

## FP32SiLU[[diffusers.models.activations.FP32SiLU]]

#### diffusers.models.activations.FP32SiLU[[diffusers.models.activations.FP32SiLU]]

```python
diffusers.models.activations.FP32SiLU()
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/activations.py#L53)

Функция активации SiLU с входом, преобразованным в torch.float32.

## LinearActivation[[diffusers.models.activations.LinearActivation]]

#### diffusers.models.activations.LinearActivation[[diffusers.models.activations.LinearActivation]]

```python
diffusers.models.activations.LinearActivation(dim_in: int, dim_out: int, bias: bool = True, activation: str = 'silu')
```

[Источник](https://github.com/huggingface/diffusers/blob/v0.43.0/src/diffusers/models/activations.py#L163)

