24.02.1
|
Go to the documentation of this file.
24 #ifndef ARM_COMPUTE_NELSTMLAYER_H
25 #define ARM_COMPUTE_NELSTMLAYER_H
50 NELSTMLayer(std::shared_ptr<IMemoryManager> memory_manager =
nullptr);
117 const ITensor *output_state_in,
125 float cell_threshold = 0.f,
126 float projection_threshold = 0.f);
185 float cell_threshold = 0.f,
186 float projection_threshold = 0.f);
258 Tensor _cell_state_activation;
261 Tensor _input_layer_norm_out1;
262 Tensor _input_layer_norm_out2;
263 Tensor _forget_layer_norm_out1;
264 Tensor _forget_layer_norm_out2;
265 Tensor _cell_layer_norm_out1;
266 Tensor _cell_layer_norm_out2;
267 Tensor _output_layer_norm_out1;
268 Tensor _output_layer_norm_out2;
269 bool _run_peephole_opt;
271 bool _perform_cell_clipping;
272 bool _has_projection_weights;
273 bool _perform_projection_clipping;
275 bool _is_layer_norm_lstm;
void run() override
Run the kernels contained in the function.
Basic function to run cpu::kernels::CpuAddKernel.
NELSTMLayer(std::shared_ptr< IMemoryManager > memory_manager=nullptr)
Default constructor.
Base class for all functions.
void prepare() override
Prepare the function for executing.
Basic function to execute GEMM.
Interface for CPU tensor.
Basic function to compute a Fully Connected layer.
Basic function to run cpu::kernels::CpuCopyKernel.
Activation Layer Information class.
NELSTMLayer & operator=(const NELSTMLayer &)=delete
Prevent instances of this class from being copied (As this class contains pointers)
auto recurrent_to_forget_weights
Basic function to run cpu::CpuMul.
Basic function to run cpu::kernels::CpuActivationKernel.
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.
auto recurrent_to_output_weights
Basic function to execute concatenate tensors along a given axis.
Basic function to run NELSTMLayer.
Copyright (c) 2017-2024 Arm Limited.
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.
~NELSTMLayer()
Default destructor.
Store the tensor's metadata.
Basic implementation of the tensor interface.
auto input_to_forget_weights
auto input_to_output_weights
auto input_to_cell_weights
auto recurrent_to_cell_weights
Basic function to run cpu::kernels::CpuTransposeKernel.
Basic function to execute mean and standard deviation normalization by calling NEMeanStdDevNormalizat...
Basic function to run cpu::kernels::CpuSubKernel.