MCPcopy Create free account
hub / github.com/0xShug0/audio.cpp / build

Method build

src/framework/modules/text_encoders/t5_base_encoder.cpp:221–246  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219}
220
221core::TensorValue T5BaseEncoderModule::build(
222 core::ModuleBuildContext & ctx,
223 const core::TensorValue & input_ids,
224 const core::TensorValue & relative_position_buckets,
225 const core::TensorValue & additive_attention_mask,
226 const T5BaseEncoderWeights & weights) const {
227 core::validate_rank_between(input_ids, 2, 2, "T5BaseEncoder input_ids");
228 const int64_t batch = input_ids.shape.dims[0];
229 const int64_t tokens = input_ids.shape.dims[1];
230 core::validate_shape(relative_position_buckets, core::TensorShape::from_dims({tokens, tokens}), "T5BaseEncoder relative_position_buckets");
231 core::validate_shape(
232 additive_attention_mask,
233 core::TensorShape::from_dims({batch, config_.attention_heads, tokens, tokens}),
234 "T5BaseEncoder additive_attention_mask");
235 core::validate_shape(weights.relative_attention_bias, core::TensorShape::from_dims(
236 {config_.relative_attention_num_buckets, config_.attention_heads}), "T5BaseEncoder relative_attention_bias");
237 if (static_cast<int64_t>(weights.layers.size()) != config_.layers) {
238 throw std::runtime_error("T5BaseEncoder layer count mismatch");
239 }
240 auto hidden = EmbeddingModule({config_.vocab_size, config_.hidden_size}).build(ctx, input_ids, weights.embed_tokens);
241 const auto position_bias = relative_position_bias(ctx, relative_position_buckets, weights, config_, batch);
242 for (int64_t i = 0; i < config_.layers; ++i) {
243 hidden = encoder_layer(ctx, hidden, position_bias, additive_attention_mask, weights.layers[static_cast<size_t>(i)], config_);
244 }
245 return t5_layer_norm(ctx, hidden, weights.final_layer_norm, config_);
246}
247
248} // namespace engine::modules

Callers 6

matmul_f32Function · 0.45
t5_layer_normFunction · 0.45
relative_position_biasFunction · 0.45
self_attentionFunction · 0.45
feed_forwardFunction · 0.45
encoder_layerFunction · 0.45

Calls 7

validate_rank_betweenFunction · 0.85
validate_shapeFunction · 0.85
EmbeddingModuleClass · 0.85
relative_position_biasFunction · 0.85
t5_layer_normFunction · 0.85
encoder_layerFunction · 0.70
sizeMethod · 0.45

Tested by

no test coverage detected