code: def __init__(self, input_size, hidden_size, layers, dropout):
      self.input_size = input_size
      self.hidden_size = hidden_size
      self.layers = layers
  
      self.cells = [
          LSTMCell(input_size, hidden_size, dropout)
          if i == 0
          else LSTMCell(
              hidden_size,
              hidden_size,
              dropout if i != layers - 1 else 0,
          )
          for i in range(layers)
      ]
  
imports: from tinygrad.tensor import Tensor
  from tinygrad.jit import TinyJit
  from tinygrad.nn import Linear, Embedding
  from tinygrad.helpers import fetch
  import numpy
  from pathlib import Path
label_desc: Use image node_id 1 to create a new LSTM object  with example: obj = LSTM(input_size, hidden_size, layers, dropout)