class_docstr: Uniform sampling `num_samples - len(input_record)` unique elements from the
  range [0, num_elements). `samples` is the concatenation of input_record and
  the samples. input_record is expected to be unique.
code: def add_ops(self, net):
      net.StopGradient(self.sampling_prob, self.sampling_prob)
  
      shape = net.Shape(
          [self.input_record()], net.NextScopedBlob("shape")
      )
      shape = net.Sub([self.num_samples, shape], shape)
      samples = net.UniqueUniformFill(
          [shape, self.input_record()],
          net.NextScopedBlob("samples_before_concat"),
          min=0,
          max=self.num_elements - 1,
          input_as_shape=True,
      )
  
      net.Concat(
          [self.input_record(), samples],
          [
              self.output_schema.samples(),
              net.NextScopedBlob("split_info"),
          ],
          axis=0,
      )
      net.StopGradient(
          self.output_schema.samples(), self.output_schema.samples()
      )
  
imports: import numpy
  from caffe2.python import core, schema
  from caffe2.python.layers.layers import ModelLayer
label_desc: Use image node_id 2 for calling the UniformSampling obj's underlying member method code with example usage: obj.add_ops(net) without return types