code: def normal(
      random_state, size=None, avg=0.0, std=1.0, ndim=None, dtype=None
  ):
      """
      Sample from a normal distribution centered on avg with
      the specified standard deviation (std).
  
      If the size argument is ambiguous on the number of dimensions, ndim
      may be a plain integer to supplement the missing information.
  
      If size is None, the output shape will be determined by the shapes
      of avg and std.
  
      If dtype is not specified, it will be inferred from the dtype of
      avg and std, but will be at least as precise as floatX.
  
      """
      avg = tensor.as_tensor_variable(avg)
      std = tensor.as_tensor_variable(std)
      if dtype is None:
          dtype = tensor.scal.upcast(
              theano.config.floatX, avg.dtype, std.dtype
          )
      ndim, size, bcast = _infer_ndim_bcast(ndim, size, avg, std)
      op = RandomFunction(
          "normal", tensor.TensorType(dtype=dtype, broadcastable=bcast)
      )
      return op(random_state, size, avg, std)
  
imports: from __future__ import absolute_import, print_function, division
  import sys
  from copy import copy
  import numpy
  from six import string_types
  from six.moves import reduce, xrange
  import theano
  from theano import tensor
  from theano.tensor import opt
  from theano import gof
  from theano.compile import optdb
label_desc: Use image node_id 4 for calling a global function with example usage: normal(random_state, size, avg, std, ndim, dtype) and returns: op