class_docstr: A Type wrapper for numpy.random.RandomState.
  
  The reason this exists (and `Generic` doesn't suffice) is that
  RandomState objects that would appear to be equal do not compare
  equal with the '==' operator.  This Type exists to provide an equals
  function that is used by DebugMode.
class_docstr_tok: ["A","Type","wrapper","for","numpy.random.RandomState",".","The","reason","this","exists","(","and","`","Generic","`","does","n't","suffice",")","is","that","RandomState","objects","that","would","appear","to","be","equal","do","not","compare","equal","with","the","'==","'","operator",".","This","Type","exists","to","provide","an","equals","function","that","is","used","by","DebugMode","."]
code: def get_size(self, shape_info):
      # The size is the data, that have constant size.
      state = np.random.RandomState().get_state()
      size = 0
      for elem in state:
          if isinstance(elem, str):
              size += len(elem)
          elif isinstance(elem, np.ndarray):
              size += elem.size * elem.itemsize
          elif isinstance(elem, int):
              size += np.dtype("int").itemsize
          elif isinstance(elem, float):
              size += np.dtype("float").itemsize
          else:
              raise NotImplementedError()
      return size
  
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 6 for calling the RandomStateType obj's underlying member method code with example usage: obj.get_size(shape_info) and returns: size