docstr: run the LSTM model through the given input errors. The data has dimension
  (seq_len, batch_size, hidden_size)
docstr_tok: ["run","the","LSTM","model","through","the","given","input","errors",".","The","data","has","dimension","(","seq_len",",","batch_size",",","hidden_size",")"]
code: def runBatchBpropWithGivenDelta(hidden_size, batch_cache, delta):
      """
      run the LSTM model through the given input errors. The data has dimension
      (seq_len, batch_size, hidden_size)
  
      """
      dH = delta
  
      # get the batched version gradients
      dX, dWLSTM, dc0, dh0 = LSTM.backward(dH, batch_cache)
  
      input_size = dWLSTM.shape[0] - hidden_size - 1
      dWrecur = dWLSTM[-hidden_size:, :]
      dWinput = dWLSTM[1 : input_size + 1, :]
      db = dWLSTM[0, :]
  
      return dX, dWrecur, dWinput, db, dWLSTM
  
file_path: neon/tests/lstm_ref.py
imports: from builtins import input
  import numpy
  from neon import logger
  from utils import allclose_with_out
label_desc: Use image node_id 5 for calling the LSTM obj's underlying member method code with example usage: obj.runBatchBpropWithGivenDelta(hidden_size, batch_cache, delta) and returns: dX,  dWrecur,  dWinput,  db,  dWLSTM