Spaces:
Sleeping
Sleeping
# Copyright (c) 2021-2022, NVIDIA CORPORATION. All rights reserved. | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# Unless required by applicable law or agreed to in writing, software | |
# distributed under the License is distributed on an "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
# See the License for the specific language governing permissions and | |
# limitations under the License. | |
import argparse | |
from ast import literal_eval | |
def parse_hifigan_args(parent, add_help=False): | |
""" | |
Parse model specific commandline arguments. | |
""" | |
parser = argparse.ArgumentParser(parents=[parent], add_help=add_help, | |
allow_abbrev=False) | |
hfg = parser.add_argument_group('HiFi-GAN generator parameters') | |
hfg.add_argument('--upsample_rates', default=[8, 8, 2, 2], | |
type=literal_eval_arg, | |
help='Upsample rates') | |
hfg.add_argument('--upsample_kernel_sizes', default=[16, 16, 4, 4], | |
type=literal_eval_arg, | |
help='Upsample kernel sizes') | |
hfg.add_argument('--upsample_initial_channel', default=512, type=int, | |
help='Upsample initial channel') | |
hfg.add_argument('--resblock', default='1', type=str, | |
help='Resblock module version') | |
hfg.add_argument('--resblock_kernel_sizes', default=[3, 7, 11], | |
type=literal_eval_arg, | |
help='Resblock kernel sizes') | |
hfg.add_argument('--resblock_dilation_sizes', type=literal_eval_arg, | |
default=[[1, 3, 5], [1, 3, 5], [1, 3, 5]], | |
help='Resblock dilation sizes'), | |
hfg = parser.add_argument_group('HiFi-GAN discriminator parameters') | |
hfg.add_argument('--mpd_periods', default=[2, 3, 5, 7, 11], | |
type=literal_eval_arg, | |
help='Periods of MultiPeriodDiscriminator') | |
hfg.add_argument('--concat_fwd', action='store_true', | |
help='Faster Discriminators (requires more GPU memory)') | |
hfg.add_argument('--hifigan-config', type=str, default=None, required=False, | |
help='Path to a HiFi-GAN config .json' | |
' (if provided, overrides model architecture flags)') | |
return parser | |
def literal_eval_arg(val): | |
try: | |
return literal_eval(val) | |
except SyntaxError as e: # Argparse does not handle SyntaxError | |
raise ValueError(str(e)) from e | |