microsoft/VibeVoice · error · ValueError
`final_sigmas_type` {final_sigmas_type} is not supported for
Error message
`final_sigmas_type` {final_sigmas_type} is not supported for `algorithm_type` {algorithm_type}. Please choose `sigma_min` instead. What it means
`final_sigmas_type="zero"` forces the last sigma to 0 (full denoising at the final step), which is only mathematically implemented for the DPM-Solver++ family where the update is expressed in x0-space. Requesting it with plain `dpmsolver` or `sde-dpmsolver` (epsilon-space updates) raises ValueError at construction. Use `final_sigmas_type="sigma_min"` instead.
Source
Thrown at vibevoice/schedule/dpm_solver.py:283
# standard deviation of the initial noise distribution
self.init_noise_sigma = 1.0
# settings for DPM-Solver
if algorithm_type not in ["dpmsolver", "dpmsolver++", "sde-dpmsolver", "sde-dpmsolver++"]:
if algorithm_type == "deis":
self.register_to_config(algorithm_type="dpmsolver++")
else:
raise NotImplementedError(f"{algorithm_type} is not implemented for {self.__class__}")
if solver_type not in ["midpoint", "heun"]:
if solver_type in ["logrho", "bh1", "bh2"]:
self.register_to_config(solver_type="midpoint")
else:
raise NotImplementedError(f"{solver_type} is not implemented for {self.__class__}")
if algorithm_type not in ["dpmsolver++", "sde-dpmsolver++"] and final_sigmas_type == "zero":
raise ValueError(
f"`final_sigmas_type` {final_sigmas_type} is not supported for `algorithm_type` {algorithm_type}. Please choose `sigma_min` instead."
)
# settable values
self.num_inference_steps = None
timesteps = np.linspace(0, num_train_timesteps - 1, num_train_timesteps, dtype=np.float32)[::-1].copy()
self.timesteps = torch.from_numpy(timesteps)
self.model_outputs = [None] * solver_order
self.lower_order_nums = 0
self._step_index = None
self._begin_index = None
self.sigmas = self.sigmas.to("cpu") # to avoid too much CPU/GPU communication
@property
def step_index(self):
"""
The index counter for current timestep. It will increase 1 after each scheduler step.
"""View on GitHub (pinned to 94da20d98b)
Solutions
- Set `final_sigmas_type="sigma_min"` when using algorithm_type "dpmsolver" or "sde-dpmsolver".
- Or switch to "dpmsolver++"/"sde-dpmsolver++" if you specifically need the zero final sigma behavior.
- If you want zero terminal SNR behavior generally, keep `rescale_betas_zero_snr=True` — that is independent of this check.
Example fix
# before DPMSolverMultistepScheduler(algorithm_type="dpmsolver", final_sigmas_type="zero") # after DPMSolverMultistepScheduler(algorithm_type="dpmsolver", final_sigmas_type="sigma_min")
Defensive patterns
Strategy: validation
Validate before calling
if final_sigmas_type == "zero" and algorithm_type not in {"dpmsolver++", "sde-dpmsolver++"}:
final_sigmas_type = "sigma_min" # or raise, per your policy
sched = DPMSolverMultistepScheduler(
algorithm_type=algorithm_type, final_sigmas_type=final_sigmas_type, ...
) Type guard
def zero_final_sigma_allowed(algorithm_type: str) -> bool:
return algorithm_type in {"dpmsolver++", "sde-dpmsolver++"} Prevention
- Treat (algorithm_type, final_sigmas_type) as a pair and validate them together.
- Default final_sigmas_type='sigma_min' is safe with every algorithm.
- rescale_betas_zero_snr is a separate knob and does not require final_sigmas_type='zero'.
When it happens
Trigger: `DPMSolverMultistepScheduler(algorithm_type="dpmsolver", final_sigmas_type="zero")` (or `sde-dpmsolver`), a combination upstream diffusers also rejects.
Common situations: Copying a config from a DPM-Solver++ pipeline and changing only algorithm_type; enabling zero-terminal-SNR tricks (`rescale_betas_zero_snr=True`) together with the classic solver.
Related errors
- `final_sigmas_type` must be one of 'zero', or 'sigma_min', b
- Unsupported alpha_transform_type: {alpha_transform_type}
- {beta_schedule} is not implemented for {self.__class__}
- {algorithm_type} is not implemented for {self.__class__}
- {solver_type} is not implemented for {self.__class__}
AI-assisted analysis of microsoft/VibeVoice@94da20d98b (2026-08-15).
Data as JSON: /api/errors/ec2e2e4a8eeccb35.
Report an issue: GitHub.