code: def test_symbolic_shape(self):
      rng_R = random_state_type()
      shape = tensor.lvector()
      post_r, out = uniform(rng_R, shape, ndim=2)
      f = compile.function([rng_R, shape], out)
      rng_state0 = np.random.RandomState(utt.fetch_seed())
  
      assert f(rng_state0, [2, 3]).shape == (2, 3)
      assert f(rng_state0, [4, 8]).shape == (4, 8)
  
      self.assertRaises(ValueError, f, rng_state0, [4])
      self.assertRaises(ValueError, f, rng_state0, [4, 3, 4, 5])
  
imports: from __future__ import absolute_import, print_function, division
  import numpy
  import pickle
  from theano.tests import unittest_tools
  from theano.tensor.raw_random import *
  from theano.tensor import raw_random, ivector, dvector, iscalar, dcol, dtensor3
  from theano import tensor
  from theano import compile, config, gof
label_desc: Use image node_id 20 for calling the T_random_function obj's underlying member method code with example usage: obj.test_symbolic_shape() without return types