From 219fbff4e6adee83c3b43a745c413259477df8f9 Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <jmvalin@jmvalin.ca> Date: Sun, 24 Mar 2019 03:48:26 -0400 Subject: [PATCH] Making it easier to adapt (or not) a model --- dnn/train_lpcnet.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/dnn/train_lpcnet.py b/dnn/train_lpcnet.py index 8c82f1970..0b5e0ba25 100755 --- a/dnn/train_lpcnet.py +++ b/dnn/train_lpcnet.py @@ -105,6 +105,20 @@ del in_exc # dump models to disk as we go checkpoint = ModelCheckpoint('lpcnet24g_384_10_G16_{epoch:02d}.h5') -model.load_weights('lpcnet24c_384_10_G16_120.h5') -model.compile(optimizer=Adam(0.0001, amsgrad=True), loss='sparse_categorical_crossentropy') -model.fit([in_data, features, periods], out_exc, batch_size=batch_size, epochs=nb_epochs, validation_split=0.0, callbacks=[checkpoint, lpcnet.Sparsify(0, 0, 1, (0.05, 0.05, 0.2))]) +#Set this to True to adapt an existing model (e.g. on new data) +adaptation = False + +if adaptation: + #Adapting from an existing model + model.load_weights('lpcnet24c_384_10_G16_120.h5') + sparsify = lpcnet.Sparsify(0, 0, 1, (0.05, 0.05, 0.2)) + lr = 0.0001 + decay = 0 +else: + #Training from scratch + sparsify = lpcnet.Sparsify(2000, 40000, 400, (0.05, 0.05, 0.2)) + lr = 0.001 + decay = 5e-5 + +model.compile(optimizer=Adam(lr, amsgrad=True, decay=decay), loss='sparse_categorical_crossentropy') +model.fit([in_data, features, periods], out_exc, batch_size=batch_size, epochs=nb_epochs, validation_split=0.0, callbacks=[checkpoint, sparsify]) -- GitLab