将参数复制为常数值



我训练了一个带有大量数据(使用CNTK)的语音模型,并且需要使其适应低资源语言。由于目标语言中的数据量太小,因此我决定使用原始模型的前三层(作为常数),并在顶部附加两个供稿前层。我找不到清晰的方法。

要简化事物,假设我的原始模型是:

model1 = Sequential([Recurrence(LSTM(1024, use_peepholes=True)), Dense(40), Recurrence(LSTM(1024, use_peepholes=True)), Dense(256), Dense(num_classes1)])

我需要低资源模型是:

model2 = Sequential([Recurrence(LSTM(1024, use_peepholes=True)), Dense(40), Recurrence(LSTM(1024, use_peepholes=True)), Dense(128), Dense(num_classes2)])

我如何将Model1的前三层参数复制为Model2的参数为恒定值(在Model2的训练过程中不要更新)?

您可以克隆网络并冻结参数。该文档可以在这里找到:

https://cntk.ai/pythondocs/graph.html?highlight=clone freeze#cntk.ops.functions.clonemethod

您可以在此处找到示例:

最新更新