class_docstr: choice type parameter
      
class_docstr_tok: ["choice","type","parameter"]
code: def mutate(self):
      child = copy.deepcopy(self)
      while random.uniform(0, 1) < child.mutate_rate:
          choices = copy.deepcopy(child.choices)
          choices.remove(child.value)
          if choices:
              child.value = random.choice(choices)
          else:
              break
  
      return child
  
imports: import math
  import logging
  import copy
  import random
  import numpy
  from itertools import permutations, combinations
  import nni
  from nni.tuner import Tuner
label_desc: Use image node_id 4 for calling the Choice obj's underlying member method code with example usage: obj.mutate() and returns: child