docstr: run the LSTM model through the given input data. The data has dimension
  (seq_len, batch_size, hidden_size)
docstr_tok: ["run","the","LSTM","model","through","the","given","input","data",".","The","data","has","dimension","(","seq_len",",","batch_size",",","hidden_size",")"]
code: def runBatchFpropWithGivenInput(hidden_size, X):
      """
      run the LSTM model through the given input data. The data has dimension
      (seq_len, batch_size, hidden_size)
  
      """
      # seq_len = X.shape[0]
      # batch_size = X.shape[1]
      input_size = X.shape[2]
  
      WLSTM = LSTM.init(input_size, hidden_size)
  
      # batch forward
      Hout, cprev, hprev, batch_cache = LSTM.forward(X, WLSTM)
  
      IFOGf = batch_cache["IFOGf"]
      Ct = batch_cache["Ct"]
  
      return Hout, IFOGf, Ct, batch_cache
  
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 4 for calling the LSTM obj's underlying member method code with example usage: obj.runBatchFpropWithGivenInput(hidden_size, X) and returns: Hout,  IFOGf,  Ct,  batch_cache