class_docstr: A helper model so we can manange models more easily. It contains net def
  and parameter storages. You can add an Operator yourself, e.g.
  
      model = model_helper.ModelHelper(name="train_net")
      # init your weight and bias as w and b
      w = model.param_init_net.XavierFill(...)
      b = model.param_init_net.ConstantFill(...)
      fc1 = model.FC([input, w, b], output, **kwargs)
  
  or you can use helper functions in brew module without manually
  defining parameter initializations and operators.
  
      model = model_helper.ModelHelper(name="train_net")
      fc1 = brew.fc(model, input, output, dim_in, dim_out, **kwargs)
code: def _update_param_info_deprecated(self):
      assert len(self._param_info_deprecated) <= len(self.params)
      for param in self.params[len(self._param_info_deprecated) :]:
          if not isinstance(param, core.BlobReference):
              raise ValueError(
                  "Param %s must be a BlobReference!" % str(param)
              )
          self._param_info_deprecated.append(
              parameter_info.ParameterInfo(
                  param_id=len(self._param_info_deprecated),
                  param=param,
                  shape=self._infer_param_shape(param),
              )
          )
      for info in self._param_info_deprecated:
          info.grad = self.param_to_grad.get(info.name)
  
imports: from caffe2.python import core, scope, workspace
  from caffe2.python.helpers.db_input import db_input
  from caffe2.python.modeling import parameter_info
  from caffe2.python.modeling.parameter_sharing import parameter_sharing_context
  from caffe2.python.optimizer_context import OptimizerContext, DEFAULT_OPTIM
  from caffe2.python.regularizer_context import RegularizerContext
  from itertools import chain
  import logging
label_desc: Use image node_id 5 for calling the ModelHelper obj's underlying member method code with example usage: obj._update_param_info_deprecated() without return types