| 306 | out.snake2 = load_snake_exact(store, source, prefix + ".snake2", channels); |
| 307 | out.conv2 = load_weight_norm_conv1d(store, source, prefix + ".conv2", channels, channels, 1, 1, 0, 1, storage_type, true); |
| 308 | return out; |
| 309 | } |
| 310 | |
| 311 | VAEDecoderWeights load_vae_decoder_weights( |
| 312 | const AceStepAssets & assets, |
| 313 | ggml_backend_t backend, |
| 314 | core::BackendType backend_type, |
| 315 | size_t weight_context_bytes, |
| 316 | assets::TensorStorageType storage_type) { |
| 317 | const auto & config = assets.config.vae; |
| 318 | if (config.decoder_channels <= 0 || |
| 319 | config.decoder_input_channels <= 0 || |
| 320 | config.channel_multiples.empty() || config.downsampling_ratios.empty()) { |
| 321 | throw std::runtime_error("ACE-Step VAE config is incomplete for decoder loading"); |
| 322 | } |
| 323 | const auto & source = *assets.vae_weights; |
no test coverage detected