Spaces:
Running on Zero
Running on Zero
Download espnet/utils/fill_missing_args.py from Tom-Brenner/PhonePaint: direct link, hf CLI and curl.
- Browser
- Download file 1.43 kB
-
https://huggingface.co/spaces/Tom-Brenner/PhonePaint/resolve/main/espnet/utils/fill_missing_args.py
- Command line
-
hf download hf://spaces/Tom-Brenner/PhonePaint/espnet/utils/fill_missing_args.py
-
curl -L -o fill_missing_args.py https://huggingface.co/spaces/Tom-Brenner/PhonePaint/resolve/main/espnet/utils/fill_missing_args.py
1.43 kB
| # -*- coding: utf-8 -*- | |
| # Copyright 2018 Nagoya University (Tomoki Hayashi) | |
| # Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0) | |
| import argparse | |
| import logging | |
| def fill_missing_args(args, add_arguments): | |
| """Fill missing arguments in args. | |
| Args: | |
| args (Namespace or None): Namesapce containing hyperparameters. | |
| add_arguments (function): Function to add arguments. | |
| Returns: | |
| Namespace: Arguments whose missing ones are filled with default value. | |
| Examples: | |
| >>> from argparse import Namespace | |
| >>> from espnet.nets.pytorch_backend.e2e_tts_tacotron2 import Tacotron2 | |
| >>> args = Namespace() | |
| >>> fill_missing_args(args, Tacotron2.add_arguments_fn) | |
| Namespace(aconv_chans=32, aconv_filts=15, adim=512, atype='location', ...) | |
| """ | |
| # check argument type | |
| assert isinstance(args, argparse.Namespace) or args is None | |
| assert callable(add_arguments) | |
| # get default arguments | |
| default_args, _ = add_arguments(argparse.ArgumentParser()).parse_known_args() | |
| # convert to dict | |
| args = {} if args is None else vars(args) | |
| default_args = vars(default_args) | |
| for key, value in default_args.items(): | |
| if key not in args: | |
| logging.info( | |
| 'attribute "%s" does not exist. use default %s.' % (key, str(value)) | |
| ) | |
| args[key] = value | |
| return argparse.Namespace(**args) | |