class_docstr: MKL Backend
class_docstr_tok: ["MKL","Backend"]
code: def fprop_mergesum(
      self, ngLayer, inputs, inference, layers, outputs, out_shape
  ):
      ngLayer.shape5D = inputs.shape5D
      C, H, W = out_shape
      outputs.shape5D = (C, 1, H, W, outputs.shape[-1])
      if inputs.shape5D is None:
          ngLayer.shape5D = inputs.shape5D = outputs.shape5D
      for i, l in enumerate(layers):
          l.fprop(inputs, inference)
          alloc_layers = [ll for ll in l.layers if ll.owns_output]
          ngLayer.tensors[(i * 4) : (i * 4 + 4)] = alloc_layers[
              -1
          ].outputs.primitive[0:4]
      self.sum_tensor(
          ngLayer.sum_prim_f,
          ngLayer.layer_num,
          ngLayer.tensors,
          outputs,
          inputs.shape5D,
      )
  
imports: from __future__ import division
  from builtins import zip
  import logging
  from neon.backends import layer_mkl
  from neon.backends.util.check_mkl import get_mkl_lib
  from neon.backends.nervanacpu import CPUTensor, NervanaCPU, CustomNumpy
  import ctypes
  from cffi import FFI
  from ctypes import c_longlong, c_float, c_double, c_int
  import numpy
  from neon.backends import math_cpu
  from neon.backends.backend import OpTreeNode
  import os
  import sys
label_desc: Use image node_id 28 for calling the NervanaMKL obj's underlying member method code with example usage: obj.fprop_mergesum(ngLayer, inputs, inference, layers, outputs, out_shape) without return types