| 73 | config.rope_theta); |
| 74 | return config; |
| 75 | } |
| 76 | |
| 77 | AceStepDiffusionConfig parse_diffusion_config(const engine::io::json::Value & value) { |
| 78 | AceStepDiffusionConfig config; |
| 79 | config.model_type = json::optional_string(value, "model_type", config.model_type); |
| 80 | config.model_version = json::optional_string(value, "model_version", config.model_version); |
| 81 | config.hidden_size = json::require_i64(value, "hidden_size"); |
| 82 | config.intermediate_size = json::require_i64(value, "intermediate_size"); |
| 83 | config.num_hidden_layers = json::require_i64(value, "num_hidden_layers"); |
| 84 | config.num_attention_heads = json::require_i64(value, "num_attention_heads"); |
| 85 | config.num_key_value_heads = json::require_i64(value, "num_key_value_heads"); |
| 86 | config.head_dim = json::optional_i64(value, "head_dim", config.hidden_size / config.num_attention_heads); |
| 87 | config.text_hidden_dim = json::require_i64(value, "text_hidden_dim"); |
| 88 | config.in_channels = json::require_i64(value, "in_channels"); |
| 89 | config.patch_size = json::require_i64(value, "patch_size"); |
| 90 | config.latent_channels = json::require_i64(value, "audio_acoustic_hidden_dim"); |
| 91 | config.pool_window_size = json::require_i64(value, "pool_window_size"); |
| 92 | config.timbre_hidden_dim = json::require_i64(value, "timbre_hidden_dim"); |
| 93 | config.timbre_fix_frame = json::require_i64(value, "timbre_fix_frame"); |
| 94 | config.num_lyric_encoder_hidden_layers = json::require_i64(value, "num_lyric_encoder_hidden_layers"); |
no test coverage detected