class_docstr: GRNA trainer.
  
  Parameters
  ----------
  n_warmup : int
      Number of epochs for training super network.
  model_lr : float
      Learning rate for super network.
  model_wd : float
      Weight decay for super network.
  
  Other parameters see Evolution
code: def __init__(
      self,
      n_warmup=1000,
      grad_clip=5.0,
      disable_progress=False,
      optimize_mode="maximize",
      population_size=100,
      sample_size=25,
      cycles=20000,
      mutation_prob=0.05,
      device="cuda",
  ):
      super().__init__(
          n_warmup,
          grad_clip,
          disable_progress,
          optimize_mode,
          population_size,
          sample_size,
          cycles,
          mutation_prob,
          device,
      )
  
imports: import logging
  import torch
  import torch.optim
  import torch.nn
  import torch.nn.functional
  from .None import register_nas_algo
  from .base import BaseNAS
  from ..estimator.base import BaseEstimator
  from ..space import BaseSpace
  from ..utils import replace_layer_choice, replace_input_choice
  from ...model.base import BaseAutoModel
  from .spos import Evolution, UniformSampler, Spos
  from ..utils import AverageMeterGroup, replace_layer_choice, replace_input_choice, get_module_order, sort_replaced_module, PathSamplingLayerChoice, PathSamplingInputChoice
  from tqdm import tqdm, trange
  from torch.autograd import Variable
  import numpy
  import time
  import copy
  import torch.optim
  import scipy.sparse
label_desc: Use image node_id 1 to create a new GRNA object from inherited base classes: Spos with example: obj = GRNA(n_warmup, grad_clip, disable_progress, optimize_mode, population_size, sample_size, cycles, mutation_prob, device)