class_docstr: Local linear layer, i.e. Conv1dLocal() with filter size 1.
docstr: Forward output calculation # [n, d, 1, m2] = [n, d, 1, m1] @ [1, d, m1, m2]
  
  Args:
      x: torch tensor
  
  Returns:
      output calculation
docstr_tok: ["Forward","output","calculation","#","[","n",",","d",",","1",",","m2","]","=","[","n",",","d",",","1",",","m1","]","@","[","1",",","d",",","m1",",","m2","]","Args",":","x",":","torch","tensor","Returns",":","output","calculation"]
code: def forward(self, x: torch.Tensor) -> torch.Tensor:
      """
      Forward output calculation # [n, d, 1, m2] = [n, d, 1, m1] @ [1, d, m1, m2]
  
      Args:
          x: torch tensor
  
      Returns:
          output calculation
      """
      out = torch.matmul(
          x.unsqueeze(dim=2), self.weight.unsqueeze(dim=0)
      )
      out = out.squeeze(dim=2)
      if self.bias is not None:
          # [n, d, m2] += [d, m2]
          out += self.bias
      return out
  
file_path: causalnex/causalnex/structure/pytorch/nonlinear.py
imports: import math
  import torch
  from torch import nn
label_desc: Use image node_id 3 for calling the LocallyConnected obj's underlying member method code with example usage: obj.forward(x) and returns: out