code: def test_normal_vector(self):
      random = RandomStreams(utt.fetch_seed())
      avg = tensor.dvector()
      std = tensor.dvector()
      out = random.normal(avg=avg, std=std)
      assert out.ndim == 1
      f = function([avg, std], out)
  
      avg_val = [1, 2, 3]
      std_val = [0.1, 0.2, 0.3]
      seed_gen = np.random.RandomState(utt.fetch_seed())
      numpy_rng = np.random.RandomState(int(seed_gen.randint(2**30)))
  
      # Arguments of size (3,)
      val0 = f(avg_val, std_val)
      numpy_val0 = numpy_rng.normal(loc=avg_val, scale=std_val)
      assert np.allclose(val0, numpy_val0)
  
      # arguments of size (2,)
      val1 = f(avg_val[:-1], std_val[:-1])
      numpy_val1 = numpy_rng.normal(
          loc=avg_val[:-1], scale=std_val[:-1]
      )
      assert np.allclose(val1, numpy_val1)
  
      # Specifying the size explicitly
      g = function(
          [avg, std], random.normal(avg=avg, std=std, size=(3,))
      )
      val2 = g(avg_val, std_val)
      numpy_rng = np.random.RandomState(int(seed_gen.randint(2**30)))
      numpy_val2 = numpy_rng.normal(
          loc=avg_val, scale=std_val, size=(3,)
      )
      assert np.allclose(val2, numpy_val2)
      self.assertRaises(ValueError, g, avg_val[:-1], std_val[:-1])
  
imports: from __future__ import absolute_import, print_function, division
  import sys
  import unittest
  import numpy
  from theano.tensor import raw_random
  from theano.tensor.shared_randomstreams import RandomStreams
  from theano import function, shared
  from theano import tensor
  from theano import compile, config, gof
  from theano.tests import unittest_tools
label_desc: Use image node_id 25 for calling the T_SharedRandomStreams obj's underlying member method code with example usage: obj.test_normal_vector() without return types