mirror of
https://github.com/xiph/opus.git
synced 2025-05-22 19:38:30 +00:00
Add convolution
This commit is contained in:
parent
f884d7bf18
commit
06511ba5a4
2 changed files with 13 additions and 4 deletions
|
@ -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))
|
||||||
|
|
||||||
|
|
|
@ -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'])
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue