code: def bprop(model, delta):
      layers = model.layers
      for l in reversed(layers._layers):
          l.be.convert_data(delta, l.get_is_mklop())
          delta = l.bprop(delta)
      # Return weights from the first layer.
      return layers._layers[0].W
  
imports: from __future__ import print_function
  import itertools
  import numpy
  from neon.backends import gen_backend
  from neon.layers import Conv, Affine, GeneralizedCost
  from neon.models import Model
  from neon.initializers.initializer import Gaussian
  from neon.transforms import CrossEntropyBinary
  from neon.optimizers import GradientDescentMomentum
  from utils import allclose_with_out
  from neon import NervanaObject
label_desc: Use image node_id 3 for calling a global function with example usage: bprop(model, delta) and returns: layers