code: def test_in_strict(self):
      a = theano.tensor.dvector()
      b = theano.shared(7)
      out = a + b
  
      f = theano.function([In(a, strict=False)], out)
      # works, rand generates float64 by default
      f(np.random.rand(8))
      # works, casting is allowed
      f(np.array([1, 2, 3, 4], dtype="int32"))
  
      f = theano.function([In(a, strict=True)], out)
      try:
          # fails, f expects float64
          f(np.array([1, 2, 3, 4], dtype="int32"))
      except TypeError:
          pass
  
imports: from __future__ import absolute_import, print_function, division
  import six.moves.cPickle
  import os
  import shutil
  import tempfile
  import unittest
  import numpy
  import theano
  from theano.compile.io import In
label_desc: Use image node_id 1 for calling the TestFunctionIn obj's underlying member method code with example usage: obj.test_in_strict() without return types