code: def __init__(
      self,
      emb_size,
      out_emb_size,
      num_radial,
      num_dense,
      num_targets,
      activation=None,
      output_init=nn.init.zeros_,
      extensive=True,
  ):
      super(OutputPPBlock, self).__init__()
  
      self.activation = activation
      self.output_init = output_init
      self.extensive = extensive
      self.dense_rbf = nn.Linear(num_radial, emb_size, bias=False)
      self.up_projection = nn.Linear(emb_size, out_emb_size, bias=False)
      self.dense_layers = nn.ModuleList(
          [
              nn.Linear(out_emb_size, out_emb_size)
              for _ in range(num_dense)
          ]
      )
      self.dense_final = nn.Linear(
          out_emb_size, num_targets, bias=False
      )
      self.reset_params()
  
file_path: dgl/examples/pytorch/dimenet/modules/output_pp_block.py
imports: import dgl
  import dgl.function
  import torch.nn
  from modules.initializers import GlorotOrthogonal
label_desc: Use image node_id 1 to create a new OutputPPBlock object from inherited base classes: nn with example: obj = OutputPPBlock(emb_size, out_emb_size, num_radial, num_dense, num_targets, activation, output_init, extensive)