Loading...
Searching...
No Matches
opennn::GroupedQueryAttentionOperator Struct Reference

#include <opennn/network/layers/grouped_query_attention_layer.h>

Inheritance diagram for opennn::GroupedQueryAttentionOperator:
opennn::Operator

Public Member Functions

 GroupedQueryAttentionOperator ()
 
 ~GroupedQueryAttentionOperator () override
 
void set (Index new_sequence_length, Index new_hidden, Index new_q_heads, Index new_kv_heads, Index new_head_dim, float new_rope_theta, float new_rms_epsilon, bool new_use_qk_norm)
 
vector< TensorSpec > parameter_specs () const override
 
vector< TensorSpec > forward_scratch_specs () const
 
vector< SlotQuantization > parameter_quantization () const override
 
void link_parameters (span< const TensorView >) override
 
void link_parameter_scales (span< const TensorView >) override
 
void set_parameters_random () override
 
const Buffer * get_rope_tables () const noexcept
 
void forward_propagate (ForwardPropagation &, size_t, ForwardPropagationMode) override
 
void back_propagate (ForwardPropagation &, BackPropagation &, size_t) const override
 
- Public Member Functions inherited from opennn::Operator
virtual ~Operator ()=default
 
virtual vector< TensorSpec > state_specs () const
 
virtual vector< ParameterSlot > parameter_slots ()
 
virtual void link_gradients (span< const TensorView > views)
 
virtual void link_states (span< const TensorView >)
 
bool link_slots (span< const TensorView > views, TensorView *ParameterSlot::*member)
 
virtual void initialize_states ()
 
virtual void set_weights_dtype (Type new_weights_dtype)
 
virtual void set_parameters_glorot ()
 
virtual void set_parameters_pytorch ()
 
virtual void to_JSON (JsonWriter &) const
 
virtual void from_JSON (const Json *)
 
virtual void load_state_from_JSON (const Json *)
 
TensorView & get_input (ForwardPropagation &forward_propagation, size_t layer, size_t slot_index=0) const noexcept
 
vector< TensorView > & get_inputs (ForwardPropagation &forward_propagation, size_t layer) const noexcept
 
TensorView & get_output (ForwardPropagation &forward_propagation, size_t layer, size_t slot_index=0) const noexcept
 
TensorView & get_output_delta (BackPropagation &back_propagation, size_t layer, size_t slot_index=0) const noexcept
 
TensorView & get_input_delta (BackPropagation &back_propagation, size_t layer, size_t slot_index=0) const noexcept
 

Static Public Attributes

static constexpr size_t forward_scratch_slots_count = 9
 

Friends

class GroupedQueryAttention
 

Additional Inherited Members

- Public Attributes inherited from opennn::Operator
Type compute_dtype = Type::FP32
 
Type weights_dtype = Type::FP32
 
vector< size_t > input_slots = {0}
 
vector< size_t > output_slots = {1}
 
vector< size_t > input_delta_slots = {1}
 
vector< size_t > output_delta_slots = {0}
 

Constructor & Destructor Documentation

◆ GroupedQueryAttentionOperator()

opennn::GroupedQueryAttentionOperator::GroupedQueryAttentionOperator ( )

◆ ~GroupedQueryAttentionOperator()

opennn::GroupedQueryAttentionOperator::~GroupedQueryAttentionOperator ( )
override

Member Function Documentation

◆ back_propagate()

void opennn::GroupedQueryAttentionOperator::back_propagate ( ForwardPropagation & ,
BackPropagation & ,
size_t  ) const
overridevirtual

Reimplemented from opennn::Operator.

◆ forward_propagate()

void opennn::GroupedQueryAttentionOperator::forward_propagate ( ForwardPropagation & ,
size_t ,
ForwardPropagationMode  )
overridevirtual

Reimplemented from opennn::Operator.

◆ forward_scratch_specs()

vector< TensorSpec > opennn::GroupedQueryAttentionOperator::forward_scratch_specs ( ) const

◆ get_rope_tables()

const Buffer * opennn::GroupedQueryAttentionOperator::get_rope_tables ( ) const
inlinenoexcept

◆ link_parameter_scales()

void opennn::GroupedQueryAttentionOperator::link_parameter_scales ( span< const TensorView > )
overridevirtual

Reimplemented from opennn::Operator.

◆ link_parameters()

void opennn::GroupedQueryAttentionOperator::link_parameters ( span< const TensorView > )
overridevirtual

Reimplemented from opennn::Operator.

◆ parameter_quantization()

vector< SlotQuantization > opennn::GroupedQueryAttentionOperator::parameter_quantization ( ) const
overridevirtual

Reimplemented from opennn::Operator.

◆ parameter_specs()

vector< TensorSpec > opennn::GroupedQueryAttentionOperator::parameter_specs ( ) const
overridevirtual

Reimplemented from opennn::Operator.

◆ set()

void opennn::GroupedQueryAttentionOperator::set ( Index new_sequence_length,
Index new_hidden,
Index new_q_heads,
Index new_kv_heads,
Index new_head_dim,
float new_rope_theta,
float new_rms_epsilon,
bool new_use_qk_norm )

◆ set_parameters_random()

void opennn::GroupedQueryAttentionOperator::set_parameters_random ( )
overridevirtual

Reimplemented from opennn::Operator.

Friends And Related Symbol Documentation

◆ GroupedQueryAttention

friend class GroupedQueryAttention
friend

Member Data Documentation

◆ forward_scratch_slots_count

size_t opennn::GroupedQueryAttentionOperator::forward_scratch_slots_count = 9
staticconstexpr