class_docstr: AutoAttend Search Space , please refer to http://proceedings.mlr.press/v139/guan21a.html for details.
  The current implementation is nc (no context weight sharing), 
  we will in future add other types of partial weight sharing proposed in the paper.
  
  Parameters
  ----------
  ops_type : int 
      0 or 1 , choosing from two sets of ops with index ops_type
  gnn_ops : list of str
      op names for searching, which descripts the compostion of operation pool
  act_op : str
      determine used activation function 
  agg_ops : list of str
      agg op names for searching. Only ['add','attn'] are options, as mentioned in the paper.
code: def _set_agg_choice(self, layer, key):
      if layer == self.layer_number:
          dim = self.output_dim
      else:
          dim = self.hidden_dim
      agg_head = self.head if layer < self.layer_number else 1
      ops = [
          self.agg_map(op, dim, agg_head, self.dropout)
          for op in self.agg_ops
      ]
      choice = self.setLayerChoice(
          layer,
          ops,
          key=key,
      )
      setattr(self, key, choice)
      return choice
  
imports: from nni.nas.pytorch.mutables import Mutable
  import typing
  import torch
  import torch.nn.functional
  from nni.nas.pytorch import mutables
  from .None import register_nas_space
  from .base import BaseSpace
  from ..utils import count_parameters, measure_latency
  from torch import nn
  from .operation import act_map, gnn_map
  from ..backend import *
  from .autoattend_space.ops1 import OPS
  from .autoattend_space.ops2 import OPS
  from .autoattend_space.operations import agg_map
label_desc: Use image node_id 3 for calling the AutoAttendNodeClassificationSpace obj's underlying member method code with example usage: obj._set_agg_choice(layer, key) and returns: choice