Loading...
Searching...
No Matches
lstm_layer.h
Go to the documentation of this file.
101 GateViews gate_biases() const { return {&forget_bias, &input_bias, &candidate_bias, &output_bias}; }
102 GateViews gate_weights() const { return {&forget_weights, &input_weights, &candidate_weights, &output_weights}; }
103 GateViews gate_recurrent_weights() const { return {&forget_recurrent_weights, &input_recurrent_weights,
108 GateViews gate_weight_gradients() const { return {&forget_weight_gradient, &input_weight_gradient,
219 Index get_time_steps() const noexcept { return input_shape.get_rank() == 2 ? input_shape[0] : Index(0); }
220 Index get_input_features() const noexcept { return input_shape.get_rank() == 2 ? input_shape[1] : Index(0); }
228 const ActivationFunction& get_activation_function() const noexcept { return lstm_op.activation_function; }
229 const ActivationFunction& get_recurrent_activation_function() const noexcept { return lstm_op.recurrent_activation_function; }
230 ActivationFunction get_output_activation() const noexcept override { return lstm_op.activation_function; }
Definition json.h:92
Definition json.h:24
ActivationFunction get_output_activation() const noexcept override
Definition lstm_layer.h:230
Shape get_input_shape() const noexcept override
Definition lstm_layer.h:212
void set_activation_function(const string &)
bool accepts_input_rank(Index rank) const override
Definition lstm_layer.h:241
const ActivationFunction & get_recurrent_activation_function() const noexcept
Definition lstm_layer.h:229
void set(const Shape &={}, const Shape &={}, const string &="Tanh", const string &="Sigmoid", const string &="lstm_layer")
void apply_input_shape(const Shape &) override
void set_recurrent_activation_function(const string &)
LSTM(const Shape &={}, const Shape &={}, const string &="Tanh", const string &="Sigmoid", const string &="lstm_layer")
void on_compute_dtype_changed() override
Definition lstm_layer.h:246
bool get_return_sequences() const noexcept
Definition lstm_layer.h:223
Index get_output_features() const noexcept
Definition lstm_layer.h:221
string write_expression(const vector< string > &, const vector< string > &) const override
Index get_input_features() const noexcept
Definition lstm_layer.h:220
vector< TensorSpec > get_forward_specs(Index) const override
void write_JSON_body(JsonWriter &) const override
void set_output_shape(const Shape &) override
void set_return_sequences(bool value)
vector< TensorSpec > get_backward_specs(Index) const override
const TensorView & get_forget_bias() const noexcept
Definition lstm_layer.h:226
void read_JSON_body(const Json *) override
const ActivationFunction & get_activation_function() const noexcept
Definition lstm_layer.h:228
Layer(LayerType type, Trainability trainability=Trainability::Trainable)
Definition layer.h:210
Definition configuration.h:10
bool is_training(ForwardPropagationMode pass) noexcept
Definition forward_propagation.h:38
constexpr bool is_one_of(const T &value, const Candidates &... candidates)
Definition opennn_types.h:273
Definition back_propagation.h:19
Definition tensor_types.h:340
Definition cudnn_rnn.h:17
Definition cudnn_rnn.h:50
Definition forward_propagation.h:52
Definition lstm_layer.h:15
GateViews gate_weight_gradients() const
Definition lstm_layer.h:108
ActivationFunction activation_function
Definition lstm_layer.h:51
TensorView candidate_weight_gradient
Definition lstm_layer.h:76
TensorView output_weight_gradient
Definition lstm_layer.h:77
GateViews gate_bias_gradients() const
Definition lstm_layer.h:106
void set_parameters_glorot() override
TensorView input_weight_gradient
Definition lstm_layer.h:75
TensorView output_recurrent_weights
Definition lstm_layer.h:67
void set_parameters_pytorch() override
TensorView candidate_recurrent_weights
Definition lstm_layer.h:66
ActivationFunction recurrent_activation_function
Definition lstm_layer.h:52
TensorView candidate_bias_gradient
Definition lstm_layer.h:71
TensorView output_recurrent_weight_gradient
Definition lstm_layer.h:82
void set_parameters_random() override
@ CandidateDeltaScratchSlot
Definition lstm_layer.h:39
@ CudnnOutputDeltaScratchSlot
Definition lstm_layer.h:41
@ CudnnInputDeltaScratchSlot
Definition lstm_layer.h:42
vector< ParameterSlot > parameter_slots() override
TensorView forget_recurrent_weights
Definition lstm_layer.h:64
TensorView forget_recurrent_weight_gradient
Definition lstm_layer.h:79
vector< TensorSpec > parameter_specs() const override
GateViews gate_recurrent_weights() const
Definition lstm_layer.h:103
TensorView candidate_recurrent_weight_gradient
Definition lstm_layer.h:81
GateViews gate_recurrent_weight_gradients() const
Definition lstm_layer.h:110
TensorView input_recurrent_weights
Definition lstm_layer.h:65
void set(Index, Index, Index, ActivationFunction new_activation_function=ActivationFunction::Tanh, ActivationFunction new_recurrent_activation_function=ActivationFunction::Sigmoid, Type new_compute_dtype=Type::FP32)
void forward_propagate(ForwardPropagation &, size_t, ForwardPropagationMode) override
array< const TensorView *, GateCount > GateViews
Definition lstm_layer.h:99
TensorView input_recurrent_weight_gradient
Definition lstm_layer.h:80
void back_propagate(ForwardPropagation &, BackPropagation &, size_t) const override
TensorView forget_weight_gradient
Definition lstm_layer.h:74
Definition operator.h:28
Definition tensor_types.h:172
Definition tensor_types.h:540