Loading...
Searching...
No Matches
c2psa_operator.h
Go to the documentation of this file.
1// SPDX-License-Identifier: AGPL-3.0-only
2// Copyright (C) 2026 Artificial Intelligence Techniques, S.L. and Roberto López González
3
4#pragma once
5
7
8namespace opennn
9{
10
12{
13 // The forward slot layout. The layer plans these and the operator reads
14 // them, so it lives where both can see it; the operator used to reach into
15 // slots[layer][1] .. [6] by ordinal and agree with the layer by accident.
28
29 Index h = 0, w = 0, channels = 0;
30
33
34 void set(Index new_h, Index new_w, Index new_channels);
35
36 vector<TensorSpec> parameter_specs() const override;
37 vector<ParameterSlot> parameter_slots() override;
39 void set_parameters_glorot() override;
40
42 void back_propagate(ForwardPropagation&, BackPropagation&, size_t) const override;
43
44 optional<size_t> forward_scratch_slot;
45 optional<size_t> backward_scratch_slot;
46};
47
48}
Definition configuration.h:10
ForwardPropagationMode
Definition forward_propagation.h:33
Definition back_propagation.h:19
Definition c2psa_operator.h:12
void forward_propagate(ForwardPropagation &, size_t, ForwardPropagationMode) override
Index h
Definition c2psa_operator.h:29
TensorView dWk
Definition c2psa_operator.h:32
TensorView Wk
Definition c2psa_operator.h:31
vector< ParameterSlot > parameter_slots() override
TensorView dWout
Definition c2psa_operator.h:32
optional< size_t > forward_scratch_slot
Definition c2psa_operator.h:44
vector< TensorSpec > parameter_specs() const override
Index w
Definition c2psa_operator.h:29
Slot
Definition c2psa_operator.h:17
@ AttentionWeights
Definition c2psa_operator.h:22
@ Output
Definition c2psa_operator.h:26
@ ForwardScratch
Definition c2psa_operator.h:25
@ Concatenated
Definition c2psa_operator.h:24
@ Key
Definition c2psa_operator.h:21
@ Value
Definition c2psa_operator.h:23
@ Input
Definition c2psa_operator.h:18
@ Query
Definition c2psa_operator.h:20
@ Split
Definition c2psa_operator.h:19
TensorView Wout
Definition c2psa_operator.h:31
TensorView dWq
Definition c2psa_operator.h:32
void set(Index new_h, Index new_w, Index new_channels)
TensorView dWv
Definition c2psa_operator.h:32
void set_parameters_glorot() override
optional< size_t > backward_scratch_slot
Definition c2psa_operator.h:45
void back_propagate(ForwardPropagation &, BackPropagation &, size_t) const override
Index channels
Definition c2psa_operator.h:29
TensorView Wv
Definition c2psa_operator.h:31
TensorView Wq
Definition c2psa_operator.h:31
void set_parameters_random() override
Definition c2psa_operator.h:38
Definition forward_propagation.h:52
Definition operator.h:28
Definition tensor_types.h:540