class_docstr: Merge multiple ID_LISTs into a single ID_LIST
  
  Args:
      model: A layer model instance
      input_record: Tuple (Struct) of ID_LIST features to be
      merged
  
  Returns:
      the merged ID_LIST feature
code: def __init__(self, model, input_record, name="merged"):
      super().__init__(model, name, input_record)
      assert all(
          schema.equal_schemas(x, IdList) for x in input_record
      ), "Inputs to MergeIdLists should all be IdLists."
  
      assert all(
          record.items.metadata is not None
          for record in self.input_record
      ), "Features without metadata are not supported"
  
      merge_dim = max(
          get_categorical_limit(record) for record in self.input_record
      )
      assert (
          merge_dim is not None
      ), "Unbounded features are not supported"
  
      self.output_schema = schema.NewRecord(
          model.net,
          schema.List(
              schema.Scalar(
                  np.int64,
                  blob=model.net.NextBlob(name),
                  metadata=schema.Metadata(categorical_limit=merge_dim),
              )
          ),
      )
  
imports: from caffe2.python import schema
  from caffe2.python.layers.layers import get_categorical_limit, ModelLayer, IdList
  import numpy
label_desc: Use image node_id 1 to create a new MergeIdLists object from inherited base classes: ModelLayer with example: obj = MergeIdLists(model, input_record, name)