24 #ifndef ARM_COMPUTE_NELSTMLAYER_H 25 #define ARM_COMPUTE_NELSTMLAYER_H 50 NELSTMLayer(std::shared_ptr<IMemoryManager> memory_manager =
nullptr);
223 Tensor _cell_state_activation;
226 Tensor _input_layer_norm_out1;
227 Tensor _input_layer_norm_out2;
228 Tensor _forget_layer_norm_out1;
229 Tensor _forget_layer_norm_out2;
230 Tensor _cell_layer_norm_out1;
231 Tensor _cell_layer_norm_out2;
232 Tensor _output_layer_norm_out1;
233 Tensor _output_layer_norm_out2;
234 bool _run_peephole_opt;
236 bool _perform_cell_clipping;
237 bool _has_projection_weights;
238 bool _perform_projection_clipping;
240 bool _is_layer_norm_lstm;
Base class for all functions.
Basic function to run cpu::kernels::CpuAddKernel.
Basic function to execute GEMM on Neon.
static Status validate(const ITensorInfo *input, const ITensorInfo *input_to_forget_weights, const ITensorInfo *input_to_cell_weights, const ITensorInfo *input_to_output_weights, const ITensorInfo *recurrent_to_forget_weights, const ITensorInfo *recurrent_to_cell_weights, const ITensorInfo *recurrent_to_output_weights, const ITensorInfo *forget_gate_bias, const ITensorInfo *cell_bias, const ITensorInfo *output_gate_bias, const ITensorInfo *output_state_in, const ITensorInfo *cell_state_in, const ITensorInfo *scratch_buffer, const ITensorInfo *output_state_out, const ITensorInfo *cell_state_out, const ITensorInfo *output, const LSTMParams< ITensorInfo > &lstm_params, const ActivationLayerInfo &activation_info, float cell_threshold=0.f, float projection_threshold=0.f)
Static function to check if given info will lead to a valid configuration of NELSTMLayer.
void configure(const ITensor *input, const ITensor *input_to_forget_weights, const ITensor *input_to_cell_weights, const ITensor *input_to_output_weights, const ITensor *recurrent_to_forget_weights, const ITensor *recurrent_to_cell_weights, const ITensor *recurrent_to_output_weights, const ITensor *forget_gate_bias, const ITensor *cell_bias, const ITensor *output_gate_bias, const ITensor *output_state_in, const ITensor *cell_state_in, ITensor *scratch_buffer, ITensor *output_state_out, ITensor *cell_state_out, ITensor *output, const LSTMParams< ITensor > &lstm_params, const ActivationLayerInfo &activation_info, float cell_threshold=0.f, float projection_threshold=0.f)
Initialize function's tensors.
auto recurrent_to_forget_weights
Store the tensor's metadata.
NELSTMLayer & operator=(const NELSTMLayer &)=delete
Prevent instances of this class from being copied (As this class contains pointers) ...
Activation Layer Information class.
Interface for Neon tensor.
Copyright (c) 2017-2021 Arm Limited.
Basic function to run NELSTMLayer.
Basic function to run cpu::kernels::CpuSubKernel.
auto input_to_cell_weights
auto recurrent_to_output_weights
void run() override
Run the kernels contained in the function.
auto input_to_output_weights
Basic implementation of the tensor interface.
Basic function to transpose a matrix on Neon.
auto recurrent_to_cell_weights
NELSTMLayer(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Default constructor.
void prepare() override
Prepare the function for executing.
Basic function to run cpu::kernels::CpuActivationKernel.
Basic function to execute mean and standard deviation normalization by calling NEMeanStdDevNormalizat...
Basic function to compute a Fully Connected layer on Neon.
Basic function to execute concatenate tensors along a given axis.
Basic function to run NEPixelWiseMultiplicationKernel.
~NELSTMLayer()
Default destructor.
auto input_to_forget_weights
Basic function to run cpu::kernels::CpuCopyKernel.