parent
dd3fb069a3
commit
6cc80c0aff
@ -1,2 +1,4 @@
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
*.pyc
|
*.pyc
|
||||||
|
tools/venv
|
||||||
|
dataset
|
||||||
|
@ -0,0 +1,70 @@
|
|||||||
|
# Copyright (c) 2021 PaddlePaddle Authors. 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.
|
||||||
|
|
||||||
|
from yacs.config import CfgNode as CN
|
||||||
|
|
||||||
|
_C = CN()
|
||||||
|
_C.data = CN(
|
||||||
|
dict(
|
||||||
|
train_manifest="",
|
||||||
|
dev_manifest="",
|
||||||
|
test_manifest="",
|
||||||
|
vocab_filepath="",
|
||||||
|
mean_std_filepath="",
|
||||||
|
augmentation_config='{}',
|
||||||
|
max_duration=float('inf'),
|
||||||
|
min_duration=0.0,
|
||||||
|
stride_ms=10.0, # ms
|
||||||
|
window_ms=20.0, # ms
|
||||||
|
n_fft=None, # fft points
|
||||||
|
max_freq=None, # None for samplerate/2
|
||||||
|
specgram_type='linear', # 'linear', 'mfcc'
|
||||||
|
target_sample_rate=16000, # sample rate
|
||||||
|
use_dB_normalization=True,
|
||||||
|
target_dB=-20,
|
||||||
|
random_seed=0,
|
||||||
|
keep_transcription_text=False,
|
||||||
|
batch_size=32, # batch size
|
||||||
|
num_workers=0, # data loader workers
|
||||||
|
sortagrad=False, # sorted in first epoch when True
|
||||||
|
shuffle_method="batch_shuffle", # 'batch_shuffle', 'instance_shuffle'
|
||||||
|
))
|
||||||
|
|
||||||
|
_C.model = CN(
|
||||||
|
dict(
|
||||||
|
num_conv_layers=2, #Number of stacking convolution layers.
|
||||||
|
num_rnn_layers=3, #Number of stacking RNN layers.
|
||||||
|
rnn_layer_size=1024, #RNN layer size (number of RNN cells).
|
||||||
|
use_gru=True, #Use gru if set True. Use simple rnn if set False.
|
||||||
|
share_rnn_weights=False #Whether to share input-hidden weights between forward and backward directional RNNs.Notice that for GRU, weight sharing is not supported.
|
||||||
|
))
|
||||||
|
|
||||||
|
_C.training = CN(
|
||||||
|
dict(
|
||||||
|
lr=5e-4, # learning rate
|
||||||
|
weight_decay=1e-6, # the coeff of weight decay
|
||||||
|
global_grad_clip=400.0, # the global norm clip
|
||||||
|
plot_interval=1000, # plot attention and spectrogram by step
|
||||||
|
valid_interval=1000, # validation by step
|
||||||
|
save_interval=1000, # checkpoint by step
|
||||||
|
max_iteration=500000, # max iteration to train by step
|
||||||
|
n_epoch=50, # train epochs
|
||||||
|
))
|
||||||
|
|
||||||
|
|
||||||
|
def get_cfg_defaults():
|
||||||
|
"""Get a yacs CfgNode object with default values for my_project."""
|
||||||
|
# Return a clone so that the defaults will not be altered
|
||||||
|
# This is for the "local variable" use pattern
|
||||||
|
return _C.clone()
|
@ -0,0 +1,64 @@
|
|||||||
|
# Copyright (c) 2021 PaddlePaddle Authors. 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
|
||||||
|
|
||||||
|
|
||||||
|
def default_argument_parser():
|
||||||
|
r"""A simple yet genral argument parser for experiments with parakeet.
|
||||||
|
|
||||||
|
This is used in examples with parakeet. And it is intended to be used by
|
||||||
|
other experiments with parakeet. It requires a minimal set of command line
|
||||||
|
arguments to start a training script.
|
||||||
|
|
||||||
|
The ``--config`` and ``--opts`` are used for overwrite the deault
|
||||||
|
configuration.
|
||||||
|
|
||||||
|
The ``--data`` and ``--output`` specifies the data path and output path.
|
||||||
|
Resuming training from existing progress at the output directory is the
|
||||||
|
intended default behavior.
|
||||||
|
|
||||||
|
The ``--checkpoint_path`` specifies the checkpoint to load from.
|
||||||
|
|
||||||
|
The ``--device`` and ``--nprocs`` specifies how to run the training.
|
||||||
|
|
||||||
|
|
||||||
|
See Also
|
||||||
|
--------
|
||||||
|
parakeet.training.experiment
|
||||||
|
Returns
|
||||||
|
-------
|
||||||
|
argparse.ArgumentParser
|
||||||
|
the parser
|
||||||
|
"""
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
# yapf: disable
|
||||||
|
# data and output
|
||||||
|
parser.add_argument("--config", metavar="FILE", help="path of the config file to overwrite to default config with.")
|
||||||
|
parser.add_argument("--data", metavar="DATA_DIR", help="path to the datatset.")
|
||||||
|
parser.add_argument("--output", metavar="OUTPUT_DIR", help="path to save checkpoint and logs.")
|
||||||
|
|
||||||
|
# load from saved checkpoint
|
||||||
|
parser.add_argument("--checkpoint_path", type=str, help="path of the checkpoint to load")
|
||||||
|
|
||||||
|
# running
|
||||||
|
parser.add_argument("--device", type=str, choices=["cpu", "gpu"], help="device type to use, cpu and gpu are supported.")
|
||||||
|
parser.add_argument("--nprocs", type=int, default=1, help="number of parallel processes to use.")
|
||||||
|
|
||||||
|
# overwrite extra config and default config
|
||||||
|
parser.add_argument("--opts", nargs=argparse.REMAINDER, help="options to overwrite --config file and the default config, passing in KEY VALUE pairs")
|
||||||
|
# yapd: enable
|
||||||
|
|
||||||
|
return parser
|
Loading…
Reference in new issue