code: def __init__(
      self,
      cutoff,
      num_node_types,
      num_layers,
      hidden_channels,
      int_emb_size,
      basis_emb_size,
      out_emb_channels,
      num_spherical,
      num_radial,
      envelope_exponent=5,
      num_before_skip=1,
      num_after_skip=2,
      num_output_layers=3,
      act=swish,
  ):
      super(SphereNet, self).__init__()
  
      self.cutoff = cutoff
  
      self.init_e = init(
          num_node_types, num_radial, hidden_channels, act
      )
      self.init_v = update_v(
          hidden_channels, out_emb_channels, num_output_layers, act
      )
      self.init_u = update_u()
      self.emb = emb(
          num_spherical, num_radial, self.cutoff, envelope_exponent
      )
  
      self.update_vs = torch.nn.ModuleList(
          [
              update_v(
                  hidden_channels,
                  out_emb_channels,
                  num_output_layers,
                  act,
              )
              for _ in range(num_layers)
          ]
      )
  
      self.update_es = torch.nn.ModuleList(
          [
              update_e(
                  hidden_channels,
                  int_emb_size,
                  basis_emb_size,
                  num_spherical,
                  num_radial,
                  num_before_skip,
                  num_after_skip,
                  act,
              )
              for _ in range(num_layers)
          ]
      )
  
      self.update_us = torch.nn.ModuleList(
          [update_u() for _ in range(num_layers)]
      )
  
      self.reset_parameters()
  
imports: import torch
  from torch import nn
  from torch.nn import Linear, Embedding
  from torch_geometric.nn.inits import glorot_orthogonal
  from torch_geometric.nn import radius_graph
  from torch_scatter import scatter
  import torch.nn.functional
  from math import sqrt
  from .geometric_computing import xyztodat
  from .features import dist_emb, angle_emb, torsion_emb
label_desc: Use image node_id 1 to create a new SphereNet object from inherited base classes: torch.nn with example: obj = SphereNet(cutoff, num_node_types, num_layers, hidden_channels, int_emb_size, basis_emb_size, out_emb_channels, num_spherical, num_radial, envelope_exponent, num_before_skip, num_after_skip, num_output_layers, act)