class_docstr: The graph attentional operator from the `"Graph Attention Networks"
  <https://arxiv.org/abs/1710.10903>`_ paper.
  
  :class:`CuGraphGATConv` is an optimized version of
  :class:`~torch_geometric.nn.conv.GATConv` based on the :obj:`cugraph-ops`
  package that fuses message passing computation for accelerated execution
  and lower memory footprint.
class_docstr_tok: ["The","graph","attentional","operator","from","the","`","``","Graph","Attention","Networks","''","<","https",":","\/\/arxiv.org\/abs\/1710.10903",">","`","_","paper",".",":","class",":","`","CuGraphGATConv","`","is","an","optimized","version","of",":","class",":","`","~torch_geometric.nn.conv.GATConv","`","based","on","the",":","obj",":","`","cugraph-ops","`","package","that","fuses","message","passing","computation","for","accelerated","execution","and","lower","memory","footprint","."]
code: def __init__(
      self,
      in_channels: int,
      out_channels: int,
      heads: int = 1,
      concat: bool = True,
      negative_slope: float = 0.2,
      bias: bool = True,
  ):
      super().__init__()
  
      self.in_channels = in_channels
      self.out_channels = out_channels
      self.heads = heads
      self.concat = concat
      self.negative_slope = negative_slope
  
      self.lin = Linear(in_channels, heads * out_channels, bias=False)
      self.att = Parameter(torch.empty(2 * heads * out_channels))
  
      if bias and concat:
          self.bias = Parameter(torch.empty(heads * out_channels))
      elif bias and not concat:
          self.bias = Parameter(torch.empty(out_channels))
      else:
          self.register_parameter("bias", None)
  
      self.reset_parameters()
  
file_path: pytorch_geometric/torch_geometric/nn/conv/cugraph/gat_conv.py
imports: from typing import Optional, Tuple
  import torch
  from torch import Tensor
  from torch.nn import Linear, Parameter
  from torch_geometric.nn.conv.cugraph import CuGraphModule
  from torch_geometric.nn.conv.cugraph.base import LEGACY_MODE
  from torch_geometric.nn.inits import zeros
label_desc: Use image node_id 1 to create a new CuGraphGATConv object from inherited base classes: CuGraphModule with example: obj = CuGraphGATConv(in_channels, out_channels, heads, concat, negative_slope, bias)