code: def __init__(
      self, pos, mbs, g, nifm, ifmshape, fshape, nofm, strides, dtypeu
  ):
      assert g == identity
      # Swap in and out
      self.ofmshape = ifmshape
      self.ofmheight, self.ofmwidth = ifmshape
      self.fheight, self.fwidth = fshape
      self.ifmheight = (self.ofmheight - 1) * strides + self.fheight
      self.ifmwidth = (self.ofmwidth - 1) * strides + self.fwidth
      self.nifm = nofm
      self.nofm = nifm
  
      self.ifmshape = (self.ifmheight, self.ifmwidth)
      self.ifmsize = self.ifmheight * self.ifmwidth
      self.ofmsize = self.ofmheight * self.ofmwidth
      self.nout = self.ofmsize * self.nofm
      self.fsize = self.nifm * self.fheight * self.fwidth
      self.weights = np.zeros((self.nofm, self.fsize), dtype=dtypeu)
      self.g = g
      self.gprime = get_prime(g)
      self.z = np.zeros((mbs, self.nout), dtype=dtypeu)
      self.y = np.zeros((mbs, self.nout), dtype=dtypeu)
      ofmstarts = np.array(
          list(range(0, (self.ofmsize * self.nofm), self.ofmsize))
      )
      self.ofmlocs = np.zeros((self.ofmsize, self.nofm), dtype=np.int32)
      for dst in range(self.ofmsize):
          self.ofmlocs[dst, :] = ofmstarts + dst
  
      self.links = []
      self.makelinks(
          self.nifm,
          self.ifmsize,
          self.ifmshape,
          self.ofmshape,
          fshape,
          strides,
      )
      self.updates = np.zeros(self.weights.shape, dtype=dtypeu)
      self.updateshards = np.zeros(
          (self.fheight * self.fwidth, self.nofm, self.fsize),
          dtype=dtypeu,
      )
      self.updatebuf = np.zeros((self.nofm, self.fsize), dtype=dtypeu)
      self.pos = pos
      if self.pos > 0:
          self.bpropbuf = np.zeros((mbs, self.fsize), dtype=dtypeu)
          self.berror = np.zeros(
              (mbs, self.ifmsize * self.nifm), dtype=dtypeu
          )
          self.berrorshards = np.zeros(
              (
                  self.fheight * self.fwidth,
                  mbs,
                  self.ifmsize * self.nifm,
              ),
              dtype=dtypeu,
          )
  
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 1 to create a new DeconvRefLayer object from inherited base classes: object with example: obj = DeconvRefLayer(pos, mbs, g, nifm, ifmshape, fshape, nofm, strides, dtypeu)