Add convolution

This commit is contained in:
Jean-Marc Valin 2018-06-26 22:52:24 -04:00
parent f884d7bf18
commit 06511ba5a4
2 changed files with 13 additions and 4 deletions

View file

@ -23,13 +23,22 @@ def new_wavernn_model():
conv1 = Conv1D(16, 7, padding='causal') conv1 = Conv1D(16, 7, padding='causal')
pconv1 = Conv1D(16, 5, padding='same') pconv1 = Conv1D(16, 5, padding='same')
pconv2 = Conv1D(16, 5, padding='same') pconv2 = Conv1D(16, 5, padding='same')
fconv1 = Conv1D(128, 3, padding='same')
fconv2 = Conv1D(32, 3, padding='same')
if True:
cpcm = conv1(pcm)
cpitch = pconv2(pconv1(pitch))
else:
cpcm = pcm
cpitch = pitch
cfeat = fconv2(fconv1(feat))
cpcm = conv1(pcm)
cpitch = pconv2(pconv1(pitch))
rep = Lambda(lambda x: K.repeat_elements(x, 160, 1)) rep = Lambda(lambda x: K.repeat_elements(x, 160, 1))
rnn = CuDNNGRU(rnn_units, return_sequences=True) rnn = CuDNNGRU(rnn_units, return_sequences=True)
rnn_in = Concatenate()([cpcm, cpitch, rep(feat)]) rnn_in = Concatenate()([cpcm, cpitch, rep(cfeat)])
md = MDense(pcm_levels, activation='softmax') md = MDense(pcm_levels, activation='softmax')
ulaw_prob = md(rnn(rnn_in)) ulaw_prob = md(rnn(rnn_in))

View file

@ -62,7 +62,7 @@ features = features[:, :, :nb_used_features]
# f.create_dataset('data', data=in_data[:50000, :, :]) # f.create_dataset('data', data=in_data[:50000, :, :])
# f.create_dataset('feat', data=features[:50000, :, :]) # f.create_dataset('feat', data=features[:50000, :, :])
checkpoint = ModelCheckpoint('lpcnet1e_{epoch:02d}.h5') checkpoint = ModelCheckpoint('lpcnet1g_{epoch:02d}.h5')
#model.load_weights('wavernn1c_01.h5') #model.load_weights('wavernn1c_01.h5')
model.compile(optimizer=Adam(0.002, amsgrad=True, decay=2e-4), loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy']) model.compile(optimizer=Adam(0.002, amsgrad=True, decay=2e-4), loss='sparse_categorical_crossentropy', metrics=['sparse_categorical_accuracy'])