input_variational_dropout
allennlp.modules.input_variational_dropout
InputVariationalDropout#
class InputVariationalDropout(torch.nn.Dropout)
Apply the dropout technique in Gal and Ghahramani, Dropout as a Bayesian Approximation: Representing Model Uncertainty in Deep Learning to a 3D tensor.
This module accepts a 3D tensor of shape (batch_size, num_timesteps, embedding_dim)
and samples a single dropout mask of shape (batch_size, embedding_dim)
and applies
it to every time step.
forward#
class InputVariationalDropout(torch.nn.Dropout):
| ...
| def forward(self, input_tensor)
Apply dropout to input tensor.
Parameters
- input_tensor :
torch.FloatTensor
A tensor of shape(batch_size, num_timesteps, embedding_dim)
Returns
- output :
torch.FloatTensor
A tensor of shape(batch_size, num_timesteps, embedding_dim)
with dropout applied.