code: def test_shape_Constant_tensor(self, border_mode):
      # Tests correlation where the {image,filter}_shape is a Constant tensor
      as_t = T.as_tensor_variable
      self.validate(
          (as_t(3), as_t(2), as_t(7), as_t(5), as_t(5)),
          (5, 2, 2, 3, 3),
          border_mode,
      )
      self.validate(as_t([3, 2, 7, 5, 5]), (5, 2, 2, 3, 3), border_mode)
      self.validate(as_t((3, 2, 7, 5, 5)), (5, 2, 2, 3, 3), border_mode)
      self.validate(
          (3, 2, 7, 5, 5),
          (as_t(5), as_t(2), as_t(2), as_t(3), as_t(3)),
          "valid",
      )
      self.validate((3, 2, 7, 5, 5), as_t([5, 2, 2, 3, 3]), border_mode)
      self.validate(
          as_t([3, 2, 7, 5, 5]), as_t([5, 2, 2, 3, 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
  from parameterized import parameterized
  import numpy
  from six import integer_types
  import theano
  import theano.tensor
  from theano.tests import unittest_tools
  from theano.tensor.nnet import corr3d, conv
  from theano.tensor.nnet.tests.test_abstract_conv import Grouped_conv3d_noOptim
label_desc: Use image node_id 8 for calling the TestCorr3D obj's underlying member method code with example usage: obj.test_shape_Constant_tensor(border_mode) without return types