docstr: Schemes are the pre-defined network architectures of various depths and complexities that can be used for the
  Middleware. Are used to create Block when LSTMMiddleware is initialised, and are applied before the LSTM.
  
  :return: dictionary of schemes, with key of type MiddlewareScheme enum and value being list of mxnet.gluon.Block.
docstr_tok: ["Schemes","are","the","pre-defined","network","architectures","of","various","depths","and","complexities","that","can","be","used","for","the","Middleware",".","Are","used","to","create","Block","when","LSTMMiddleware","is","initialised",",","and","are","applied","before","the","LSTM",".",":","return",":","dictionary","of","schemes",",","with","key","of","type","MiddlewareScheme","enum","and","value","being","list","of","mxnet.gluon.Block","."]
code: def schemes(self) -> dict:
      """
      Schemes are the pre-defined network architectures of various depths and complexities that can be used for the
      Middleware. Are used to create Block when LSTMMiddleware is initialised, and are applied before the LSTM.
  
      :return: dictionary of schemes, with key of type MiddlewareScheme enum and value being list of mxnet.gluon.Block.
      """
      return {
          MiddlewareScheme.Empty: [],
          # Use for PPO
          MiddlewareScheme.Shallow: [Dense(units=64)],
          # Use for DQN
          MiddlewareScheme.Medium: [Dense(units=512)],
          MiddlewareScheme.Deep: [
              Dense(units=128),
              Dense(units=128),
              Dense(units=128),
          ],
      }
  
file_path: coach/rl_coach/architectures/mxnet_components/middlewares/lstm_middleware.py
imports: from typing import Union
  from types import ModuleType
  import mxnet
  from mxnet.gluon import rnn
  from rl_coach.architectures.mxnet_components.layers import Dense
  from rl_coach.architectures.mxnet_components.middlewares.middleware import Middleware
  from rl_coach.architectures.middleware_parameters import LSTMMiddlewareParameters
  from rl_coach.base_parameters import MiddlewareScheme
label_desc: Use image node_id 2 for calling the LSTMMiddleware obj's underlying member method code with example usage: obj.schemes() and returns: dict