code: def test_shape_Constant_tensor(self):
      # Tests correlation where the {image,filter}_shape is a Constant tensor.
  
      as_t = T.as_tensor_variable
      border_modes = [
          "valid",
          "full",
          "half",
          (1, 1),
          (2, 1),
          (1, 2),
          (3, 3),
          1,
      ]
  
      for border_mode in border_modes:
          self.validate(
              (as_t(3), as_t(2), as_t(7), as_t(5)),
              (5, 2, 2, 3),
              border_mode,
          )
          self.validate(as_t([3, 2, 7, 5]), (5, 2, 2, 3), border_mode)
          self.validate(as_t((3, 2, 7, 5)), (5, 2, 2, 3), border_mode)
          self.validate(
              (3, 2, 7, 5),
              (as_t(5), as_t(2), as_t(2), as_t(3)),
              "valid",
          )
          self.validate((3, 2, 7, 5), as_t([5, 2, 2, 3]), border_mode)
          self.validate(
              as_t([3, 2, 7, 5]), as_t([5, 2, 2, 3]), border_mode
          )
  
imports: from __future__ import absolute_import, print_function, division
  from nose.plugins.skip import SkipTest
  from nose.plugins.attrib import attr
  from nose.tools import assert_equals
  import numpy
  from six import integer_types
  import theano
  import theano.tensor
  from theano.tests import unittest_tools
  from theano.tensor.nnet import corr, conv
  from theano.tensor.nnet.tests.test_abstract_conv import Grouped_conv_noOptim, TestUnsharedConv
  from theano.tensor.nnet.tests.test_abstract_conv import TestAsymmetricPadding, TestCausalConv
label_desc: Use image node_id 7 for calling the TestCorr2D obj's underlying member method code with example usage: obj.test_shape_Constant_tensor() without return types