code: def new(cls, rstate, ndim, dtype, size):
      v_size = as_tensor_variable(size)
      if ndim is None:
          ndim = get_vector_length(v_size)
      op = cls(TensorType(dtype, (False,) * ndim))
      return op(rstate, v_size)
  
imports: from __future__ import absolute_import, print_function, division
  import warnings
  import numpy
  from six import integer_types, string_types
  from six.moves import xrange
  import theano
  from theano import Op, Apply, shared, config, Variable
  from theano import gradient, function
  from theano.gradient import undefined_grad
  from theano import tensor
  from theano.tensor import TensorType, as_tensor_variable, get_vector_length, cast, opt, scal
  from theano.compile import optdb
  from theano.gof import local_optimizer, ParamsType
  from theano.scalar import bool, int32
  from .None import multinomial
label_desc: Use image node_id 2 for calling the mrg_uniform obj's underlying member method code with example usage: obj.new(cls, rstate, ndim, dtype, size) and returns: op