class_docstr: See :class:`torch_geometric.nn.conv.SAGEConv`.
  
  .. note::
  
      :class:`~torch_geometric.nn.dense.DenseSAGEConv` expects to work on
      binary adjacency matrices.
      If you want to make use of weighted dense adjacency matrices, please
      use :class:`torch_geometric.nn.dense.DenseGraphConv` instead.
class_docstr_tok: ["See",":","class",":","`","torch_geometric.nn.conv.SAGEConv","`",".","..","note",":",":",":","class",":","`","~torch_geometric.nn.dense.DenseSAGEConv","`","expects","to","work","on","binary","adjacency","matrices",".","If","you","want","to","make","use","of","weighted","dense","adjacency","matrices",",","please","use",":","class",":","`","torch_geometric.nn.dense.DenseGraphConv","`","instead","."]
code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      normalize: bool = False,
      bias: bool = True,
  ):
      super().__init__()
  
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.normalize = normalize
  
      self.lin_rel = Linear(in_channels, out_channels, bias=False)
      self.lin_root = Linear(in_channels, out_channels, bias=bias)
  
      self.reset_parameters()
  
file_path: pytorch_geometric/torch_geometric/nn/dense/dense_sage_conv.py
imports: import torch
  import torch.nn.functional
  from torch import Tensor
  from torch.nn import Linear
  from torch_geometric.typing import OptTensor
label_desc: Use image node_id 1 to create a new DenseSAGEConv object from inherited base classes: torch.nn with example: obj = DenseSAGEConv(in_channels, out_channels, normalize, bias)