提交 8bee9fd3 编写于 作者: Z zhxfl

aishell 3040

上级 5ae580c8
......@@ -12,6 +12,7 @@ import paddle.fluid as fluid
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_splice as trans_splice
import data_utils.augmentor.trans_delay as trans_delay
import data_utils.async_data_reader as reader
from decoder.post_decode_faster import Decoder
from data_utils.util import lodtensor_to_ndarray
......@@ -35,7 +36,7 @@ def parse_args():
parser.add_argument(
'--frame_dim',
type=int,
default=120 * 11,
default=80,
help='Frame dimension of feature data. (default: %(default)d)')
parser.add_argument(
'--stacked_num',
......@@ -155,7 +156,7 @@ def infer_from_ckpt(args):
ltrans = [
trans_add_delta.TransAddDelta(2, 2),
trans_mean_variance_norm.TransMeanVarianceNorm(args.mean_var),
trans_splice.TransSplice()
trans_splice.TransSplice(), trans_delay.TransDelay(5)
]
feature_t = fluid.LoDTensor()
......
......@@ -32,25 +32,31 @@ def stacked_lstmp_model(frame_dim,
# network configuration
def _net_conf(feature, label):
seq_conv1 = fluid.layers.sequence_conv(
conv1 = fluid.layers.conv2d(
input=feature,
num_filters=1024,
num_filters=32,
filter_size=3,
filter_stride=1,
bias_attr=True)
bn1 = fluid.layers.batch_norm(
input=seq_conv1,
act="sigmoid",
is_test=not is_train,
momentum=0.9,
epsilon=1e-05,
data_layout='NCHW')
stride=1,
padding=1,
bias_attr=True,
act="relu")
stack_input = bn1
pool1 = fluid.layers.pool2d(
conv1, pool_size=3, pool_type="max", pool_stride=2, pool_padding=0)
#bn1 = fluid.layers.batch_norm(
# input=pool1,
# act="sigmoid",
# is_test=not is_train,
# momentum=0.9,
# epsilon=1e-05,
# data_layout='NCHW')
stack_input = pool1
for i in range(stacked_num):
fc = fluid.layers.fc(input=stack_input,
size=hidden_dim * 4,
bias_attr=True)
bias_attr=None)
proj, cell = fluid.layers.dynamic_lstmp(
input=fc,
size=hidden_dim * 4,
......@@ -62,7 +68,7 @@ def stacked_lstmp_model(frame_dim,
proj_activation="tanh")
bn = fluid.layers.batch_norm(
input=proj,
act="sigmoid",
#act="linear",
is_test=not is_train,
momentum=0.9,
epsilon=1e-05,
......@@ -80,7 +86,10 @@ def stacked_lstmp_model(frame_dim,
# data feeder
feature = fluid.layers.data(
name="feature", shape=[-1, frame_dim], dtype="float32", lod_level=1)
name="feature",
shape=[-1, 3, 11, frame_dim],
dtype="float32",
lod_level=1)
label = fluid.layers.data(
name="label", shape=[-1, 1], dtype="int64", lod_level=1)
......
......@@ -13,6 +13,7 @@ import _init_paths
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_splice as trans_splice
import data_utils.augmentor.trans_delay as trans_delay
import data_utils.async_data_reader as reader
from model_utils.model import stacked_lstmp_model
from data_utils.util import lodtensor_to_ndarray
......@@ -87,7 +88,7 @@ def parse_args():
parser.add_argument(
'--max_batch_num',
type=int,
default=10,
default=11,
help='Maximum number of batches for profiling. (default: %(default)d)')
parser.add_argument(
'--first_batches_to_skip',
......@@ -146,10 +147,10 @@ def profile(args):
ltrans = [
trans_add_delta.TransAddDelta(2, 2),
trans_mean_variance_norm.TransMeanVarianceNorm(args.mean_var),
trans_splice.TransSplice()
trans_splice.TransSplice(), trans_delay.TransDelay(5)
]
data_reader = reader.AsyncDataReader(args.feature_lst, args.label_lst)
data_reader = reader.AsyncDataReader(args.feature_lst, args.label_lst, -1)
data_reader.set_transformers(ltrans)
feature_t = fluid.LoDTensor()
......
......@@ -34,7 +34,7 @@ def parse_args():
parser.add_argument(
'--frame_dim',
type=int,
default=120 * 11,
default=80,
help='Frame dimension of feature data. (default: %(default)d)')
parser.add_argument(
'--stacked_num',
......@@ -54,7 +54,7 @@ def parse_args():
parser.add_argument(
'--class_num',
type=int,
default=1749,
default=3040,
help='Number of classes in label. (default: %(default)d)')
parser.add_argument(
'--pass_num',
......@@ -158,6 +158,7 @@ def train(args):
# program for test
test_program = fluid.default_main_program().clone()
#optimizer = fluid.optimizer.Momentum(learning_rate=args.learning_rate, momentum=0.9)
optimizer = fluid.optimizer.Adam(learning_rate=args.learning_rate)
optimizer.minimize(avg_cost)
......@@ -172,7 +173,7 @@ def train(args):
ltrans = [
trans_add_delta.TransAddDelta(2, 2),
trans_mean_variance_norm.TransMeanVarianceNorm(args.mean_var),
trans_splice.TransSplice(), trans_delay.TransDelay(5)
trans_splice.TransSplice(5, 5), trans_delay.TransDelay(5)
]
feature_t = fluid.LoDTensor()
......@@ -221,6 +222,8 @@ def train(args):
args.minimum_batch_size)):
# load_data
(features, labels, lod, name_lst) = batch_data
features = np.reshape(features, (-1, 11, 3, args.frame_dim))
features = np.transpose(features, (0, 2, 1, 3))
feature_t.set(features, place)
feature_t.set_lod([lod])
label_t.set(labels, place)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册