Loading...
Searching...
No Matches
embedding_lookup_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 const TensorView&, TensorView&,
13 Index, Index, Index,
14 bool scale_embedding, bool add_positional_encoding,
15 const TensorView& weight_scale = {});
17 const TensorView&, const TensorView&,
18 Index, Index, Index,
19 bool scale_embedding);
20void compute_token_valid_lengths(const TensorView&, Index, vector<Index>&);
21
23{
24 Index vocabulary_size = 0;
25 Index sequence_length = 0;
27
28 bool scale_embedding = false;
32
34
38
41
42 void set(Index, Index, Index);
43
44 vector<TensorSpec> parameter_specs() const override;
45 vector<SlotQuantization> parameter_quantization() const override;
46 vector<TensorSpec> state_specs() const override;
47 vector<ParameterSlot> parameter_slots() override;
48 void link_states (span<const TensorView>) override;
49 void initialize_states() override;
50 void link_parameter_scales(span<const TensorView>) override;
51
52 void set_parameters_random() override;
53 void set_parameters_glorot() override;
54
57
59 void back_propagate(ForwardPropagation&, BackPropagation&, size_t) const override;
60
61 void load_state_from_JSON(const Json*) override;
62};
63
64}
Definition json.h:24
Definition configuration.h:10
void embedding_lookup_forward(const TensorView &, const TensorView &, const TensorView &, TensorView &, Index, Index, Index, bool scale_embedding, bool add_positional_encoding, const TensorView &weight_scale={})
void embedding_lookup_backward(const TensorView &, const TensorView &, const TensorView &, const TensorView &, Index, Index, Index, bool scale_embedding)
ForwardPropagationMode
Definition forward_propagation.h:33
void compute_token_valid_lengths(const TensorView &, Index, vector< Index > &)
Definition back_propagation.h:19
Definition embedding_lookup_operator.h:23
TensorView positional_gradient
Definition embedding_lookup_operator.h:40
Index sequence_length
Definition embedding_lookup_operator.h:25
void back_propagate(ForwardPropagation &, BackPropagation &, size_t) const override
vector< SlotQuantization > parameter_quantization() const override
void link_parameter_scales(span< const TensorView >) override
Index embedding_dimension
Definition embedding_lookup_operator.h:26
vector< TensorSpec > state_specs() const override
bool add_positional_encoding
Definition embedding_lookup_operator.h:29
bool weights_follow_compute_dtype
Definition embedding_lookup_operator.h:33
void set(Index, Index, Index)
void forward_propagate(ForwardPropagation &, size_t, ForwardPropagationMode) override
vector< ParameterSlot > parameter_slots() override
TensorView positional_encoding
Definition embedding_lookup_operator.h:37
bool scale_embedding
Definition embedding_lookup_operator.h:28
void set_parameters_glorot() override
vector< TensorSpec > parameter_specs() const override
bool positional_trainable
Definition embedding_lookup_operator.h:30
void set_parameters_random() override
TensorView weight_scale
Definition embedding_lookup_operator.h:36
Index vocabulary_size
Definition embedding_lookup_operator.h:24
void link_states(span< const TensorView >) override
TensorView weights
Definition embedding_lookup_operator.h:35
bool export_valid_lengths
Definition embedding_lookup_operator.h:31
TensorView weight_gradient
Definition embedding_lookup_operator.h:39
void load_state_from_JSON(const Json *) override
Definition forward_propagation.h:52
Definition operator.h:28
Definition tensor_types.h:540