pyabsa.networks.dynamic_rnn¶
Classes¶
Base class for all neural network modules. |
Module Contents¶
- class pyabsa.networks.dynamic_rnn.DynamicLSTM(input_size, hidden_size, num_layers=1, bias=True, batch_first=True, dropout=0, bidirectional=False, only_use_last_hidden_state=False, rnn_type='LSTM')¶
Bases:
torch.nn.ModuleBase class for all neural network modules.
Your models should also subclass this class.
Modules can also contain other Modules, allowing them to be nested in a tree structure. You can assign the submodules as regular attributes:
import torch.nn as nn import torch.nn.functional as F class Model(nn.Module): def __init__(self) -> None: super().__init__() self.conv1 = nn.Conv2d(1, 20, 5) self.conv2 = nn.Conv2d(20, 20, 5) def forward(self, x): x = F.relu(self.conv1(x)) return F.relu(self.conv2(x))
Submodules assigned in this way will be registered, and will also have their parameters converted when you call
to(), etc.Note
As per the example above, an
__init__()call to the parent class must be made before assignment on the child.- Variables:
training (bool) – Boolean represents whether this module is in training or evaluation mode.
- input_size¶
- num_layers = 1¶
- bias = True¶
- batch_first = True¶
- dropout = 0¶
- bidirectional = False¶
- rnn_type = 'LSTM'¶
- forward(x, x_len)¶
sequence -> sort -> pad and pack ->process using RNN -> unpack ->unsort
- Parameters:
x – sequence embedding vectors
x_len – numpy/tensor list
- Returns: