LSTM Layer Functions

riscv_nmsis_nn_status riscv_lstm_unidirectional_s16(const int16_t *input, int16_t *output, const nmsis_nn_lstm_params *params, nmsis_nn_lstm_context *buffers)
riscv_nmsis_nn_status riscv_lstm_unidirectional_s8(const int8_t *input, int8_t *output, const nmsis_nn_lstm_params *params, nmsis_nn_lstm_context *buffers)
group LSTM

Get size of additional buffer required by riscv_svdf_s8() for Arm(R) Helium Architecture case. Refer to riscv_svdf_s8_get_buffer_size() for function argument details.

Note

Intended for compilation on Host. If compiling for an Arm target, use riscv_svdf_s8_get_buffer_size().

Functions

riscv_nmsis_nn_status riscv_lstm_unidirectional_s16(const int16_t *input, int16_t *output, const nmsis_nn_lstm_params *params, nmsis_nn_lstm_context *buffers)

LSTM unidirectional function with 16 bit input and output and 16 bit gate output, 64 bit bias.

  1. Supported framework: TensorFlow Lite Micro

Parameters
  • input[in] Pointer to input data

  • output[out] Pointer to output data

  • params[in] Struct containing all information about the lstm operator, see riscv_nn_types.

  • buffers[in] Struct containing pointers to all temporary scratch buffers needed for the lstm operator, see riscv_nn_types.

Returns

The function returns RISCV_NMSIS_NN_SUCCESS

riscv_nmsis_nn_status riscv_lstm_unidirectional_s8(const int8_t *input, int8_t *output, const nmsis_nn_lstm_params *params, nmsis_nn_lstm_context *buffers)

LSTM unidirectional function with 8 bit input and output and 16 bit gate output, 32 bit bias.

  1. Supported framework: TensorFlow Lite Micro

Parameters
  • input[in] Pointer to input data

  • output[out] Pointer to output data

  • params[in] Struct containing all information about the lstm operator, see riscv_nn_types.

  • buffers[in] Struct containing pointers to all temporary scratch buffers needed for the lstm operator, see riscv_nn_types.

Returns

The function returns RISCV_NMSIS_NN_SUCCESS