code: def test_dconv_zeros(backend_default, zeros_convargs, deltas_buffer):
      fshape, nofm, batch_size = zeros_convargs
      NervanaObject.be.bsz = batch_size
  
      dtypeu = np.float32
      init_unif = Uniform(low=0.0, high=0.0)
      if isinstance(
          NervanaObject.be, NervanaGPU
      ) and NervanaObject.be.compute_capability < (5, 0):
          # Kepler kernels do not support 3D yet.
          inshape = (64, 28, 28)
      else:
          inshape = (64, 28, 28, 28)
      insize = np.prod(inshape)
      neon_layer = Deconvolution(
          fshape=(fshape, fshape, nofm),
          strides=1,
          padding=0,
          init=init_unif,
      )
      inp_arr_shape = (insize, batch_size)
      inp = np.random.random(inp_arr_shape).astype(dtypeu)
      inp = neon_layer.be.array(inp)
      inp.lshape = inshape
      neon_layer.configure(inshape)
      neon_layer.prev_layer = True
      neon_layer.allocate()
  
      neon_layer.allocate_deltas(deltas_buffer)
      deltas_buffer.allocate_buffers()
      neon_layer.set_deltas(deltas_buffer)
  
      outa = neon_layer.fprop(inp)
      out = outa.get()
      assert np.min(out) == 0.0 and np.max(out) == 0.0
  
      err = dtypeu(np.zeros(outa.shape))
      deltas = neon_layer.bprop(NervanaObject.be.array(err)).get()
      assert np.min(deltas) == 0.0 and np.max(deltas) == 0.0
  
      dw = neon_layer.dW.get()
      assert np.min(dw) == 0.0 and np.max(dw) == 0.0
      return
  
file_path: neon/tests/test_deconv_layer.py
imports: import itertools
  import numpy
  import pytest
  from neon import NervanaObject
  from neon.layers import Deconvolution
  from neon.initializers import Uniform
  from utils import allclose_with_out
label_desc: Use image node_id 2 for calling a global function with example usage: test_dconv_zeros(backend_default, zeros_convargs, deltas_buffer) without return types