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

Function resblock

src/framework/audio/flashsr.cpp:287–303  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

285}
286
287core::TensorValue resblock(
288 core::ModuleBuildContext & ctx,
289 const core::TensorValue & input,
290 const ResBlockWeights & block,
291 const FlashSrWeights & weights,
292 int64_t kernel) {
293 auto output = input;
294 constexpr int kDilations[3] = {1, 3, 5};
295 for (int i = 0; i < 3; ++i) {
296 auto xt = activation1d(ctx, output, block.activations[i * 2], weights);
297 xt = conv1d(ctx, xt, block.convs1[i], (kernel * kDilations[i] - kDilations[i]) / 2, kDilations[i]);
298 xt = activation1d(ctx, xt, block.activations[i * 2 + 1], weights);
299 xt = conv1d(ctx, xt, block.convs2[i], (kernel - 1) / 2, 1);
300 output = modules::AddModule().build(ctx, output, xt);
301 }
302 return output;
303}
304
305std::vector<float> normalize_output(const std::vector<float> & input) {
306 float max_abs = 0.0f;

Callers 1

FlashSrGraphMethod · 0.70

Calls 4

AddModuleClass · 0.85
activation1dFunction · 0.70
conv1dFunction · 0.70
buildMethod · 0.45

Tested by

no test coverage detected