code: def get_prunable_copy(self, bn=False):
      model_new = get_model_from_arch_str(
          self.arch_str,
          self.num_classes,
          use_bn=bn,
          init_channels=self.stem_ch,
      )
  
      # TODO this is quite brittle and doesn't work with nn.Sequential when bn is different
      # it is only required to maintain initialization -- maybe init after get_punable_copy?
      model_new.load_state_dict(self.state_dict(), strict=False)
      model_new.train()
  
      return model_new
  
file_path: singa/examples/model_selection/TRAILS-Database-Native-Model-Selection/internal/ml/model_selection/src/third_pkg/sp201_lib/nasbench2.py
imports: from .nasbench2_ops import *
label_desc: Use image node_id 3 for calling the NAS201Model obj's underlying member method code with example usage: obj.get_prunable_copy(bn) and returns: model_new