Spec-Zone.ru › PyTorch 1

Dropout3d

class torch.nn.Dropout3d(p=0.5, inplace=False) [source]

Случайно обнуляет целые каналы (канал — это 3D карта признаков, например, jj-й канал ii-й выборки в пакетном входе — это 3D тензор input[i,j]\text{input}[i, j]). Каждый канал независимо обнуляется на каждом вызове вперёд с вероятностью p, используя выборки из распределения Бернулли.

Обычно вход поступает из модулей nn.Conv3d.

Как описано в статье Efficient Object Localization Using Convolutional Networks, если смежные пиксели внутри карт признаков сильно коррелированы (как обычно бывает в ранних слоях свёрток), то независимое дропаут не будет регуляризировать активации и в противном случае просто приведёт к уменьшению эффективной скорости обучения.

В этом случае, nn.Dropout3d() поможет повысить независимость между картами признаков и должен использоваться вместо него.

Параметры:
  • p (float, опционально) – вероятность обнуления элемента.
  • inplace (bool, опционально) – Если установлено в True, выполнит операцию на месте.
Форма:
  • Вход: (N,C,D,H,W)(N, C, D, H, W) или (C,D,H,W)(C, D, H, W).
  • Выход: (N,C,D,H,W)(N, C, D, H, W) или (C,D,H,W)(C, D, H, W) (такая же форма, как у входа).

Примеры:

>>> m = nn.Dropout3d(p=0.2)
>>> input = torch.randn(20, 16, 4, 32, 32)
>>> output = m(input)

© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.nn.Dropout3d.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API