mirror of
https://github.com/fumiama/Retrieval-based-Voice-Conversion-WebUI.git
synced 2026-06-08 03:55:47 +08:00
feat(rvcmd): add option --update
This commit is contained in:
@@ -16,7 +16,7 @@ def sha256(f) -> str:
|
||||
return sha256_hash.hexdigest()
|
||||
|
||||
|
||||
def check_model(dir_name: Path, model_name: str, hash: str) -> bool:
|
||||
def check_model(dir_name: Path, model_name: str, hash: str, remove_incorrect=False) -> bool:
|
||||
target = dir_name / model_name
|
||||
relname = target.as_posix()
|
||||
relname = relname[relname.rindex("assets/") :]
|
||||
@@ -30,12 +30,12 @@ def check_model(dir_name: Path, model_name: str, hash: str) -> bool:
|
||||
logger.info(f"{target} sha256 hash mismatch.")
|
||||
logger.info(f"expected: {hash}")
|
||||
logger.info(f"real val: {digest}")
|
||||
os.remove(str(target))
|
||||
if remove_incorrect: os.remove(str(target))
|
||||
return False
|
||||
return True
|
||||
|
||||
|
||||
def check_all_assets() -> bool:
|
||||
def check_all_assets(update=False) -> bool:
|
||||
BASE_DIR = Path(__file__).resolve().parent.parent.parent
|
||||
|
||||
logger.info("checking hubret & rmvpe...")
|
||||
@@ -44,14 +44,15 @@ def check_all_assets() -> bool:
|
||||
BASE_DIR / "assets" / "hubert",
|
||||
"hubert_base.pt",
|
||||
os.environ["sha256_hubert_base_pt"],
|
||||
update,
|
||||
):
|
||||
return False
|
||||
if not check_model(
|
||||
BASE_DIR / "assets" / "rmvpe", "rmvpe.pt", os.environ["sha256_rmvpe_pt"]
|
||||
BASE_DIR / "assets" / "rmvpe", "rmvpe.pt", os.environ["sha256_rmvpe_pt"], update,
|
||||
):
|
||||
return False
|
||||
if not check_model(
|
||||
BASE_DIR / "assets" / "rmvpe", "rmvpe.onnx", os.environ["sha256_rmvpe_onnx"]
|
||||
BASE_DIR / "assets" / "rmvpe", "rmvpe.onnx", os.environ["sha256_rmvpe_onnx"], update,
|
||||
):
|
||||
return False
|
||||
|
||||
@@ -73,14 +74,14 @@ def check_all_assets() -> bool:
|
||||
]
|
||||
for model in model_names:
|
||||
menv = model.replace(".", "_")
|
||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_v1_{menv}"]):
|
||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_v1_{menv}"], update):
|
||||
return False
|
||||
|
||||
rvc_models_dir = BASE_DIR / "assets" / "pretrained_v2"
|
||||
logger.info("checking pretrained models v2...")
|
||||
for model in model_names:
|
||||
menv = model.replace(".", "_")
|
||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_v2_{menv}"]):
|
||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_v2_{menv}"], update):
|
||||
return False
|
||||
|
||||
logger.info("checking uvr5_weights...")
|
||||
@@ -97,12 +98,12 @@ def check_all_assets() -> bool:
|
||||
]
|
||||
for model in model_names:
|
||||
menv = model.replace(".", "_")
|
||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_uvr5_{menv}"]):
|
||||
if not check_model(rvc_models_dir, model, os.environ[f"sha256_uvr5_{menv}"], update):
|
||||
return False
|
||||
if not check_model(
|
||||
BASE_DIR / "assets" / "uvr5_weights" / "onnx_dereverb_By_FoxJoy",
|
||||
"vocals.onnx",
|
||||
os.environ[f"sha256_uvr5_vocals_onnx"],
|
||||
os.environ[f"sha256_uvr5_vocals_onnx"], update,
|
||||
):
|
||||
return False
|
||||
|
||||
|
||||
Reference in New Issue
Block a user