code: def run_conv_valid(
      self,
      inputs_shape,
      filters_shape,
      border_mode="valid",
      filter_dilation=(1, 1, 1),
      subsample=(1, 1, 1),
      verify_grad=False,
  ):
      inputs_shape = [inputs_shape[i] for i in (0, 4, 1, 2, 3)]
      filters_shape = [filters_shape[i] for i in (0, 4, 1, 2, 3)]
  
      inputs_val = np.random.random(inputs_shape).astype(config.floatX)
      filters_val = np.random.random(filters_shape).astype(
          config.floatX
      )
  
      inputs = gpuarray_shared_constructor(inputs_val)
      filters = gpuarray_shared_constructor(filters_val)
  
      conv_ref = Corr3dMM(
          border_mode=border_mode,
          filter_dilation=filter_dilation,
          subsample=subsample,
      )(ref_cast(inputs), ref_cast(filters))
      f_ref = theano.function([], conv_ref, mode=mode_without_gpu)
  
      conv = GpuCorr3dMM(
          border_mode=border_mode,
          filter_dilation=filter_dilation,
          subsample=subsample,
      )(inputs, filters)
      f = theano.function([], conv, mode=mode_with_gpu)
  
      res_ref = f_ref()
      res = f()
      utt.assert_allclose(res_ref, res)
  
      if verify_grad:
          utt.verify_grad(
              GpuCorr3dMM(
                  border_mode=border_mode,
                  filter_dilation=filter_dilation,
                  subsample=subsample,
              ),
              [inputs_val, filters_val],
              mode=mode_with_gpu,
          )
  
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  import theano
  from theano import config
  from theano.tests import unittest_tools
  from theano.tensor.nnet.corr3d import Corr3dMM, Corr3dMM_gradWeights, Corr3dMM_gradInputs
  from ..type import gpuarray_shared_constructor
  from ..blas import GpuCorr3dMM, GpuCorr3dMM_gradWeights, GpuCorr3dMM_gradInputs
  from .config import mode_with_gpu, mode_without_gpu, ref_cast
  from theano.tensor.nnet.tests.test_abstract_conv import Grouped_conv3d_noOptim
label_desc: Use image node_id 1 for calling the TestCorr3dMM obj's underlying member method code with example usage: obj.run_conv_valid(inputs_shape, filters_shape, border_mode, filter_dilation, subsample, verify_grad) without return types