code: def widen(self, idx, new_width, widen_type="output_dim", noise=None):
      assert idx < len(self.layers), "Index out of range: %d" % idx
      if widen_type == "output_dim":
          assert isinstance(self.layers[idx], ConvLayer) or isinstance(
              self.layers[idx], FCLayer
          ), "Operation not available"
          to_widen_layer = self.layers[idx]
  
          if isinstance(to_widen_layer, ConvLayer):
              indices, magnifier = to_widen_layer.widen_filters(
                  new_filter_num=new_width, noise=noise
              )
          else:
              indices, magnifier = to_widen_layer.widen_units(
                  new_units_num=new_width, noise=noise
              )
          after_widen_layer = None
          for _i in range(idx + 1, len(self.layers)):
              if isinstance(self.layers[_i], ConvLayer) or isinstance(
                  self.layers[_i], FCLayer
              ):
                  self.layers[_i].prev_widen(
                      indices, magnifier, noise=noise
                  )
                  after_widen_layer = self.layers[_i]
                  break
              else:
                  self.layers[_i].prev_widen(
                      indices, magnifier, noise=noise
                  )
          return after_widen_layer is None, indices, magnifier
      else:
          raise ValueError("%s is not supported" % widen_type)
  
file_path: auptimizer/src/aup/Proposer/eas/models/layer_cascade.py
imports: from .layers import ConvLayer, FCLayer, PoolLayer, get_layer_by_name
  import tensorflow
label_desc: Use image node_id 13 for calling the LayerCascade obj's underlying member method code with example usage: obj.widen(idx, new_width, widen_type, noise) and returns: unknown,  indices,  magnifier