Функция F.alpha_dropout
Функция alpha_dropout применяет альфа-выпадание (alpha dropout) к входным данным. В отличие от обычного выпадания, альфа-выпадание сохраняет среднее значение и дисперсию входных данных. Функция принимает тензор, вероятность выпадания и флаг обучения.
Первый параметр input - входной тензор. Второй параметр p - вероятность выпадания (по умолчанию 0.5). Третий параметр training - флаг, указывающий, находится ли модель в режиме обучения (по умолчанию True).
Синтаксис
torch.nn.functional.alpha_dropout(input, p=0.5, training=True)
Пример
Давайте применим альфа-выпадание к тензору с вероятностью 0.3:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
t = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0])
res = F.alpha_dropout(t, p=0.3)
print(res)
Результат выполнения кода:
tensor([ 0.0000, 0.0000, 4.2857, 5.7143, 7.1429])
Пример
В режиме оценки (не обучения) альфа-выпадание не применяется:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
t = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0])
res = F.alpha_dropout(t, p=0.3, training=False)
print(res)
Результат выполнения кода:
tensor([1., 2., 3., 4., 5.])
Пример
Применим альфа-выпадание к двумерному тензору:
import torch
import torch.nn.functional as F
torch.manual_seed(0)
t = torch.tensor([
[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
])
res = F.alpha_dropout(t, p=0.5)
print(res)
Результат выполнения кода:
tensor([
[ 0.0000, 0.0000, 0.0000],
[ 8.0000, 10.0000, 12.0000],
])