ZeroRVC / zerorvc /f0 /load.py
github-actions[bot]
Sync from https://github.com/JacobLinCool/zero-rvc
2d9b22b
raw
history blame contribute delete
861 Bytes
import torch
from .rmvpe import RMVPE
def load_rmvpe(
rmvpe: str | RMVPE | None = None, device: torch.device = torch.device("cpu")
) -> RMVPE:
"""
Load the RMVPE model from a file or download it if necessary.
If a loaded model is provided, it will be returned as is.
Args:
rmvpe (str | RMVPE | None): The path to the RMVPE model file or the pre-loaded RMVPE model. If None, the default model will be downloaded.
device (torch.device): The device to load the model on.
Returns:
RMVPE: The loaded RMVPE model.
Raises:
If the model file does not exist.
"""
if isinstance(rmvpe, RMVPE):
return rmvpe.to(device)
if isinstance(rmvpe, str):
model = RMVPE.from_pretrained(rmvpe).to(device)
return model
return RMVPE.from_pretrained("safe-models/RMVPE").to(device)