ref: 60c97b97239d916124f898603cabe7142b41dca0
parent: 141830ce5a85c006d0b6df196a7cee839c8d4c3c
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Sat Nov 24 11:19:02 EST 2018
Proper ordering for MDense weights
--- a/dnn/dump_lpcnet.py
+++ b/dnn/dump_lpcnet.py
@@ -85,9 +85,9 @@
name = self.name
print("printing layer " + name + " of type " + self.__class__.__name__)weights = self.get_weights()
- printVector(f, weights[0], name + '_weights')
- printVector(f, weights[1], name + '_bias')
- printVector(f, weights[1], name + '_factor')
+ printVector(f, np.transpose(weights[0], (1, 2, 0)), name + '_weights')
+ printVector(f, np.transpose(weights[1], (1, 0)), name + '_bias')
+ printVector(f, np.transpose(weights[2], (1, 0)), name + '_factor')
activation = self.activation.__name__.upper()
max_mdense_tmp = max(max_mdense_tmp, weights[0].shape[0]*weights[0].shape[2])
f.write('const MDenseLayer {} = {{\n {}_bias,\n {}_weights,\n {}_factor,\n {}, {}, {}, ACTIVATION_{}\n}};\n\n'--
⑨