ref: fa1d2824fad7fff313c335385de41d083df3c76f
parent: f13debcf65282023e1b708283ddd95db3df00105
author: Jean-Marc Valin <jmvalin@jmvalin.ca>
date: Sun Oct 14 22:45:27 EDT 2018
Add diagonal to sparsity mask
--- a/dnn/lpcnet.py
+++ b/dnn/lpcnet.py
@@ -49,6 +49,7 @@
#print ("density = ", density)for k in range(nb):
A = p[:, k*N:(k+1)*N]
+ A = A - np.diag(np.diag(A))
L=np.reshape(A, (N, N//16, 16))
S=np.sum(L*L, axis=-1)
SS=np.sort(np.reshape(S, (-1,)))
@@ -55,6 +56,7 @@
thresh = SS[round(N*N//16*(1-density))]
mask = (S>=thresh).astype('float32');mask = np.repeat(mask, 16, axis=1)
+ mask = np.minimum(1, mask + np.diag(np.ones((N,))))
p[:, k*N:(k+1)*N] = p[:, k*N:(k+1)*N]*mask
#print(thresh, np.mean(mask))
w[1] = p
--
⑨