class_docstr: MKL Backend
class_docstr_tok: ["MKL","Backend"]
docstr: Create a new BiBNRNN parameter object. To change the data storage type
  This then is passed as an argument to all the BiBNRNN operations.
  
  N: Number of images in mini-batch
  C: Number of output feature maps
  K: Number of input feature maps
docstr_tok: ["Create","a","new","BiBNRNN","parameter","object",".","To","change","the","data","storage","type","This","then","is","passed","as","an","argument","to","all","the","BiBNRNN","operations",".","N",":","Number","of","images","in","mini-batch","C",":","Number","of","output","feature","maps","K",":","Number","of","input","feature","maps"]
code: def bibnrnn_layer(
      self,
      h_buffer_all,
      h_ff_buffer,
      W_recur_f,
      W_recur_b,
      nsteps,
      nout,
  ):
      """
      Create a new BiBNRNN parameter object. To change the data storage type
      This then is passed as an argument to all the BiBNRNN operations.
  
      N: Number of images in mini-batch
      C: Number of output feature maps
      K: Number of input feature maps
  
  
      """
      return layer_mkl.BiBNRNNLayerMKL(
          h_buffer_all, h_ff_buffer, W_recur_f, W_recur_b, nsteps, nout
      )
  
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 39 for calling the NervanaMKL obj's underlying member method code with example usage: obj.bibnrnn_layer(h_buffer_all, h_ff_buffer, W_recur_f, W_recur_b, nsteps, nout) and returns: layer_mkl