Back to Pytorch

Dropout Layers

docs/cpp/source/api/nn/dropout.md

2.12.01.5 KB
Original Source

Dropout Layers

Dropout randomly zeros elements during training as a regularization technique, preventing overfitting by forcing the network to learn redundant representations. During evaluation, dropout is disabled and outputs are scaled appropriately.

  • Dropout: Standard dropout for fully-connected layers
  • Dropout2d/3d: Spatial dropout that zeros entire channels (better for CNNs)
  • AlphaDropout: Maintains self-normalizing property (use with SELU activation)
{note}

Remember to call `model->train()` during training and `model->eval()` during
inference to properly enable/disable dropout behavior.

Dropout

{doxygenclass}
:members:
:undoc-members:
{doxygenclass}
:members:
:undoc-members:

Example:

cpp
auto dropout = torch::nn::Dropout(torch::nn::DropoutOptions(0.5));

Dropout2d / Dropout3d

{doxygenclass}
:members:
:undoc-members:
{doxygenclass}
:members:
:undoc-members:
{doxygenclass}
:members:
:undoc-members:
{doxygenclass}
:members:
:undoc-members:

AlphaDropout

{doxygenclass}
:members:
:undoc-members:
{doxygenclass}
:members:
:undoc-members:

FeatureAlphaDropout

{doxygenclass}
:members:
:undoc-members:
{doxygenclass}
:members:
:undoc-members: