code: def rand_parameters(self, architecture, meta=False):
      for name, param in self.named_parameters(recurse=True):
          if "meta" in name and meta:
              yield param
          elif (
              "blocks" not in name and "meta" not in name and (not meta)
          ):
              yield param
  
      if not meta:
          for choice_blocks, choice_name in zip(
              self.blocks, architecture
          ):
              choice_sample = architecture[choice_name]
              for block, arch in zip(choice_blocks, choice_sample):
                  if not arch:
                      continue
                  for name, param in block.named_parameters(
                      recurse=True
                  ):
                      yield param
  
imports: from lib.utils.builder_util import *
  from lib.utils.search_structure_supernet import *
  from lib.models.builders.build_supernet import *
  from lib.utils.op_by_layer_dict import flops_op_dict
  from timm.models.layers import SelectAdaptivePool2d
  from timm.models.layers.activations import hard_sigmoid
label_desc: Use image node_id 7 for calling the SuperNet obj's underlying member method code with example usage: obj.rand_parameters(architecture, meta) without return types