提交 d6d819c2 编写于 作者: Y Yibing Liu

Adjust dir struct and fix bug in data_reader

上级 b92c05ae
...@@ -225,8 +225,8 @@ class DataReader(object): ...@@ -225,8 +225,8 @@ class DataReader(object):
@suppress_complaints(verbose=self._verbose) @suppress_complaints(verbose=self._verbose)
def ordered_processing_task(sample_info_queue, sample_queue, out_order): def ordered_processing_task(sample_info_queue, sample_queue, out_order):
if self._verbose == 0: if self._verbose == 0:
signal.signal(signal.SIGTERM, suppress_signal()) signal.signal(signal.SIGTERM, suppress_signal)
signal.signal(signal.SIGINT, suppress_signal()) signal.signal(signal.SIGINT, suppress_signal)
def read_bytes(fpath, start, size): def read_bytes(fpath, start, size):
f = open(fpath, 'r') f = open(fpath, 'r')
......
...@@ -9,12 +9,16 @@ import paddle.v2.fluid as fluid ...@@ -9,12 +9,16 @@ import paddle.v2.fluid as fluid
def stacked_lstmp_model(hidden_dim, def stacked_lstmp_model(hidden_dim,
proj_dim, proj_dim,
stacked_num, stacked_num,
class_num,
parallel=False, parallel=False,
is_train=True, is_train=True):
class_num=1749):
""" The model for DeepASR. The main structure is composed of stacked """ The model for DeepASR. The main structure is composed of stacked
identical LSTMP (LSTM with recurrent projection) layers. identical LSTMP (LSTM with recurrent projection) layers.
When running in training and validation phase, the feeding dictionary
is {'feature', 'label'}, fed by the LodTensor for feature data and
label data respectively. And in inference, only `feature` is needed.
Args: Args:
hidden_dim(int): The hidden state's dimension of the LSTMP layer. hidden_dim(int): The hidden state's dimension of the LSTMP layer.
proj_dim(int): The projection size of the LSTMP layer. proj_dim(int): The projection size of the LSTMP layer.
......
"""Add the parent directory to $PYTHONPATH"""
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
import os.path
import sys
def add_path(path):
if path not in sys.path:
sys.path.insert(0, path)
this_dir = os.path.dirname(__file__)
# Add project path to PYTHONPATH
proj_path = os.path.join(this_dir, '..')
add_path(proj_path)
...@@ -7,14 +7,14 @@ import numpy as np ...@@ -7,14 +7,14 @@ import numpy as np
import argparse import argparse
import time import time
import paddle.v2 as paddle
import paddle.v2.fluid as fluid import paddle.v2.fluid as fluid
import paddle.v2.fluid.profiler as profiler import paddle.v2.fluid.profiler as profiler
import _init_paths
import data_utils.augmentor.trans_mean_variance_norm as trans_mean_variance_norm import data_utils.augmentor.trans_mean_variance_norm as trans_mean_variance_norm
import data_utils.augmentor.trans_add_delta as trans_add_delta import data_utils.augmentor.trans_add_delta as trans_add_delta
import data_utils.augmentor.trans_splice as trans_splice import data_utils.augmentor.trans_splice as trans_splice
import data_utils.data_reader as reader import data_utils.data_reader as reader
from model import stacked_lstmp_model from model_utils.model import stacked_lstmp_model
from data_utils.util import lodtensor_to_ndarray from data_utils.util import lodtensor_to_ndarray
...@@ -118,8 +118,12 @@ def profile(args): ...@@ -118,8 +118,12 @@ def profile(args):
raise ValueError( raise ValueError(
"arg 'first_batches_to_skip' must not be smaller than 0.") "arg 'first_batches_to_skip' must not be smaller than 0.")
_, avg_cost, accuracy = stacked_lstmp_model(args.hidden_dim, args.proj_dim, _, avg_cost, accuracy = stacked_lstmp_model(
args.stacked_num, args.parallel) hidden_dim=args.hidden_dim,
proj_dim=args.proj_dim,
stacked_num=args.stacked_num,
class_num=1749,
parallel=args.parallel)
adam_optimizer = fluid.optimizer.Adam(learning_rate=args.learning_rate) adam_optimizer = fluid.optimizer.Adam(learning_rate=args.learning_rate)
adam_optimizer.minimize(avg_cost) adam_optimizer.minimize(avg_cost)
...@@ -173,7 +177,6 @@ def profile(args): ...@@ -173,7 +177,6 @@ def profile(args):
else: else:
sys.stdout.write('.') sys.stdout.write('.')
sys.stdout.flush() sys.stdout.flush()
time_consumed = time.time() - start_time time_consumed = time.time() - start_time
frames_per_sec = frames_seen / time_consumed frames_per_sec = frames_seen / time_consumed
print("\nTime consumed: %f s, performance: %f frames/s." % print("\nTime consumed: %f s, performance: %f frames/s." %
......
...@@ -8,15 +8,13 @@ import numpy as np ...@@ -8,15 +8,13 @@ import numpy as np
import argparse import argparse
import time import time
import paddle.v2 as paddle
import paddle.v2.fluid as fluid import paddle.v2.fluid as fluid
import paddle.v2.fluid.profiler as profiler
import data_utils.augmentor.trans_mean_variance_norm as trans_mean_variance_norm import data_utils.augmentor.trans_mean_variance_norm as trans_mean_variance_norm
import data_utils.augmentor.trans_add_delta as trans_add_delta import data_utils.augmentor.trans_add_delta as trans_add_delta
import data_utils.augmentor.trans_splice as trans_splice import data_utils.augmentor.trans_splice as trans_splice
import data_utils.data_reader as reader import data_utils.data_reader as reader
from data_utils.util import lodtensor_to_ndarray from data_utils.util import lodtensor_to_ndarray
from model import stacked_lstmp_model from model_utils.model import stacked_lstmp_model
def parse_args(): def parse_args():
...@@ -116,8 +114,14 @@ def train(args): ...@@ -116,8 +114,14 @@ def train(args):
"""train in loop. """train in loop.
""" """
# prediction, avg_cost, accuracy = stacked_lstmp_model(args.hidden_dim,
# args.proj_dim, args.stacked_num, class_num=1749, args.parallel)
prediction, avg_cost, accuracy = stacked_lstmp_model( prediction, avg_cost, accuracy = stacked_lstmp_model(
args.hidden_dim, args.proj_dim, args.stacked_num, args.parallel) hidden_dim=args.hidden_dim,
proj_dim=args.proj_dim,
stacked_num=args.stacked_num,
class_num=1749,
parallel=args.parallel)
adam_optimizer = fluid.optimizer.Adam(learning_rate=args.learning_rate) adam_optimizer = fluid.optimizer.Adam(learning_rate=args.learning_rate)
adam_optimizer.minimize(avg_cost) adam_optimizer.minimize(avg_cost)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册