code: def test_infer_shape(self):
      if not imported_scipy:
          raise SkipTest("Scipy needed for the Solve op.")
      rng = np.random.RandomState(utt.fetch_seed())
      A = theano.tensor.matrix()
      b = theano.tensor.matrix()
      self._compile_and_check(
          [A, b],  # theano.function inputs
          [self.op(A, b)],  # theano.function outputs
          # A must be square
          [
              np.asarray(rng.rand(5, 5), dtype=config.floatX),
              np.asarray(rng.rand(5, 1), dtype=config.floatX),
          ],
          self.op_class,
          warn=False,
      )
      rng = np.random.RandomState(utt.fetch_seed())
      A = theano.tensor.matrix()
      b = theano.tensor.vector()
      self._compile_and_check(
          [A, b],  # theano.function inputs
          [self.op(A, b)],  # theano.function outputs
          # A must be square
          [
              np.asarray(rng.rand(5, 5), dtype=config.floatX),
              np.asarray(rng.rand(5), dtype=config.floatX),
          ],
          self.op_class,
          warn=False,
      )
  
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  import numpy.linalg
  from numpy.testing import assert_array_almost_equal
  from numpy.testing import dec, assert_array_equal, assert_allclose
  from numpy import inf
  import itertools
  import theano
  from theano import tensor, function, grad
  from theano.tensor.basic import _allclose
  from theano.tests.test_rop import break_op
  from theano.tests import unittest_tools
  from theano import config
  from theano.tensor.slinalg import Cholesky, cholesky, CholeskyGrad, Solve, solve, Eigvalsh, EigvalshGrad, eigvalsh, expm, kron
  from theano.tests.unittest_tools import attr
  from nose.plugins.skip import SkipTest
  from nose.tools import assert_raises
label_desc: Use image node_id 2 for calling the test_Solve obj's underlying member method code with example usage: obj.test_infer_shape() without return types