| 634 | config.vocos_dim, |
| 635 | config.hidden_size, |
| 636 | 7, |
| 637 | true); |
| 638 | weights.norm = engine::modules::binding::norm_from_source(store, source, "encoder.0.norm", config.vocos_dim); |
| 639 | weights.convnext.reserve(static_cast<size_t>(config.vocos_num_layers)); |
| 640 | for (int64_t layer = 0; layer < config.vocos_num_layers; ++layer) { |
| 641 | const std::string prefix = "encoder.0.convnext." + std::to_string(layer); |
| 642 | Vevo2CocoConvNeXtBlockWeights block; |
| 643 | block.dwconv = engine::modules::binding::depthwise_conv1d_from_source( |
| 644 | store, |
| 645 | source, |
| 646 | prefix + ".dwconv", |
| 647 | conv_storage_type, |
| 648 | config.vocos_dim, |
| 649 | 7, |
| 650 | true); |
| 651 | block.norm = engine::modules::binding::norm_from_source(store, source, prefix + ".norm", config.vocos_dim); |
| 652 | block.pwconv1 = engine::modules::binding::linear_from_source( |
| 653 | store, |
| 654 | source, |
| 655 | prefix + ".pwconv1", |
| 656 | matmul_storage_type, |
| 657 | config.vocos_intermediate_dim, |
no test coverage detected