mirror of
https://github.com/deepinsight/insightface.git
synced 2026-05-14 12:17:55 +00:00
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
from argparse import ArgumentParser
|
|
|
|
from . import BaseInsightFaceCLICommand
|
|
import os
|
|
import os.path as osp
|
|
import zipfile
|
|
import glob
|
|
from ..utils import download
|
|
|
|
|
|
def model_download_command_factory(args):
|
|
return ModelDownloadCommand(args.model, args.root, args.force)
|
|
|
|
|
|
class ModelDownloadCommand(BaseInsightFaceCLICommand):
|
|
#_url_format = '{repo_url}models/{file_name}.zip'
|
|
@staticmethod
|
|
def register_subcommand(parser: ArgumentParser):
|
|
download_parser = parser.add_parser("model.download")
|
|
download_parser.add_argument(
|
|
"--root", type=str, default='~/.insightface', help="Path to location to store the models"
|
|
)
|
|
download_parser.add_argument(
|
|
"--force", action="store_true", help="Force the model to be download even if already in root-dir"
|
|
)
|
|
download_parser.add_argument("model", type=str, help="Name of the model to download")
|
|
download_parser.set_defaults(func=model_download_command_factory)
|
|
|
|
def __init__(self, model: str, root: str, force: bool):
|
|
self._model = model
|
|
self._root = root
|
|
self._force = force
|
|
|
|
def run(self):
|
|
download('models', self._model, force=self._force, root=self._root)
|
|
|