|
|
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): |
|
|
|
|
|
@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) |
|
|
|
|
|
|