def __init__(self, adj, input_dim: int, output_dim: int, **kwargs): super(GCN, self).__init__() self.register_buffer( 'laplacian', calculate_laplacian_with_self_loop(torch.FloatTensor(adj))) self._num_nodes = adj.shape[0] self._input_dim = input_dim # seq_len for prediction self._output_dim = output_dim # hidden_dim for prediction self.weights = nn.Parameter( torch.FloatTensor(self._input_dim, self._output_dim)) self.reset_parameters()
def __init__(self, adj, num_gru_units: int, output_dim: int, bias: float = 0.0): super(TGCNGraphConvolution, self).__init__() self._num_gru_units = num_gru_units self._output_dim = output_dim self._bias_init_value = bias self.register_buffer( 'laplacian', calculate_laplacian_with_self_loop(torch.FloatTensor(adj))) self.weights = nn.Parameter( torch.FloatTensor(self._num_gru_units + 1, self._output_dim)) self.biases = nn.Parameter(torch.FloatTensor(self._output_dim)) self.reset_parameters()