code: def export_peepholes() -> None:
      input = np.array(
          [[[1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0]]]
      ).astype(np.float32)
  
      input_size = 4
      hidden_size = 3
      weight_scale = 0.1
      number_of_gates = 4
      number_of_peepholes = 3
  
      node = onnx.helper.make_node(
          "LSTM",
          inputs=[
              "X",
              "W",
              "R",
              "B",
              "sequence_lens",
              "initial_h",
              "initial_c",
              "P",
          ],
          outputs=["", "Y_h"],
          hidden_size=hidden_size,
      )
  
      # Initializing Inputs
      W = weight_scale * np.ones(
          (1, number_of_gates * hidden_size, input_size)
      ).astype(np.float32)
      R = weight_scale * np.ones(
          (1, number_of_gates * hidden_size, hidden_size)
      ).astype(np.float32)
      B = np.zeros((1, 2 * number_of_gates * hidden_size)).astype(
          np.float32
      )
      seq_lens = np.repeat(input.shape[0], input.shape[1]).astype(
          np.int32
      )
      init_h = np.zeros((1, input.shape[1], hidden_size)).astype(
          np.float32
      )
      init_c = np.zeros((1, input.shape[1], hidden_size)).astype(
          np.float32
      )
      P = weight_scale * np.ones(
          (1, number_of_peepholes * hidden_size)
      ).astype(np.float32)
  
      lstm = LSTMHelper(
          X=input,
          W=W,
          R=R,
          B=B,
          P=P,
          initial_c=init_c,
          initial_h=init_h,
      )
      _, Y_h = lstm.step()
      expect(
          node,
          inputs=[input, W, R, B, seq_lens, init_h, init_c, P],
          outputs=[Y_h.astype(np.float32)],
          name="test_lstm_with_peepholes",
      )
  
file_path: onnx/onnx/backend/test/case/node/lstm.py
imports: from typing import Any, Tuple
  import numpy
  import onnx
  from onnx.backend.test.case.base import Base
  from onnx.backend.test.case.node import expect
label_desc: Use image node_id 3 for calling the LSTM obj's underlying member method code with example usage: obj.export_peepholes() without return types