pyabsa.tasks.AspectPolarityClassification.models.__classic__.asgcn

Classes

GraphConvolution

Simple GCN layer, similar to https://arxiv.org/abs/1609.02907

ASGCN_Unit

Base class for all neural network modules.

ASGCN

Base class for all neural network modules.

Module Contents

class pyabsa.tasks.AspectPolarityClassification.models.__classic__.asgcn.GraphConvolution(in_features, out_features, bias=True)

Bases: torch.nn.Module

Simple GCN layer, similar to https://arxiv.org/abs/1609.02907

in_features
out_features
weight
forward(text, adj)
class pyabsa.tasks.AspectPolarityClassification.models.__classic__.asgcn.ASGCN_Unit(embedding_matrix, config)

Bases: torch.nn.Module

Base 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.

inputs = ['text_indices', 'aspect_indices', 'left_indices', 'dependency_graph']
config
embed
text_lstm
gc1
gc2
text_embed_dropout
position_weight(x, aspect_double_idx, text_len, aspect_len)
mask(x, aspect_double_idx)
forward(inputs)
class pyabsa.tasks.AspectPolarityClassification.models.__classic__.asgcn.ASGCN(bert, config)

Bases: torch.nn.Module

Base 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.

inputs = ['text_indices', 'aspect_indices', 'left_indices', 'dependency_graph', 'left_aspect_indices',...
config
asgcn_left
asgcn_central
asgcn_right
dense
forward(inputs)