Skip to content

Commit ec44ad0

Browse files
committed
diarization : try conv and self-attention embeddings
1 parent d11f359 commit ec44ad0

File tree

2 files changed

+210
-113
lines changed

2 files changed

+210
-113
lines changed

ggml.c

Lines changed: 38 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -8529,28 +8529,30 @@ void ggml_svd_reduce_dims(
85298529
float * A0 = (float *) malloc(n * m * sizeof(float));
85308530

85318531
// average vector
8532-
float * M = (float *) malloc(m * sizeof(float));
8532+
//float * M = (float *) malloc(m * sizeof(float));
85338533

8534-
{
8535-
for (int j = 0; j < m; ++j) {
8536-
M[j] = 0.0f;
8537-
}
8538-
for (int i = 0; i < n; ++i) {
8539-
for (int j = 0; j < m; ++j) {
8540-
M[j] += A[i * m + j];
8541-
}
8542-
}
8543-
for (int j = 0; j < m; ++j) {
8544-
M[j] /= (float) n;
8545-
}
8546-
}
8534+
//{
8535+
// for (int j = 0; j < m; ++j) {
8536+
// M[j] = 0.0f;
8537+
// }
8538+
// for (int i = 0; i < n; ++i) {
8539+
// for (int j = 0; j < m; ++j) {
8540+
// M[j] += A[i * m + j];
8541+
// }
8542+
// }
8543+
// for (int j = 0; j < m; ++j) {
8544+
// M[j] /= (float) n;
8545+
// }
8546+
//}
85478547

8548-
// subtract average vector
8549-
for (int i = 0; i < n; ++i) {
8550-
for (int j = 0; j < m; ++j) {
8551-
A[i * m + j] -= M[j];
8552-
}
8553-
}
8548+
//// subtract average vector
8549+
//for (int i = 0; i < n; ++i) {
8550+
// for (int j = 0; j < m; ++j) {
8551+
// A[i * m + j] -= M[j];
8552+
// }
8553+
//}
8554+
8555+
//free(M);
85548556

85558557
memcpy(A0, A, n * m * sizeof(float));
85568558

@@ -8616,11 +8618,11 @@ void ggml_svd_reduce_dims(
86168618
}
86178619

86188620
// print S
8619-
//printf("S:\n");
8620-
//for (int i = 0; i < n; ++i) {
8621-
// printf("- %d = %9.5f\n", i, S[i]);
8622-
//}
8623-
//printf("\n");
8621+
printf("S:\n");
8622+
for (int i = 0; i < n; ++i) {
8623+
printf("- %d = %9.5f\n", i, S[i]);
8624+
}
8625+
printf("\n");
86248626

86258627
// print V
86268628
//printf("V:\n");
@@ -8652,16 +8654,16 @@ void ggml_svd_reduce_dims(
86528654
}
86538655

86548656
// normalize U
8655-
//for (int i = 0; i < n; ++i) {
8656-
// double sum = 0.0;
8657-
// for (int j = 0; j < m; ++j) {
8658-
// sum += U[i * m + j] * U[i * m + j];
8659-
// }
8660-
// sum = sqrt(sum);
8661-
// for (int j = 0; j < m; ++j) {
8662-
// U[i * m + j] /= sum*sqrt((double) m);
8663-
// }
8664-
//}
8657+
for (int i = 0; i < n; ++i) {
8658+
double sum = 0.0;
8659+
for (int j = 0; j < m; ++j) {
8660+
sum += U[i * m + j] * U[i * m + j];
8661+
}
8662+
sum = sqrt(sum);
8663+
for (int j = 0; j < m; ++j) {
8664+
U[i * m + j] /= sum*sqrt((double) m);
8665+
}
8666+
}
86658667

86668668
// print U
86678669
//printf("U:\n");
@@ -8674,12 +8676,11 @@ void ggml_svd_reduce_dims(
86748676
//}
86758677
//printf("\n");
86768678

8677-
8678-
printf("n = %d, m = %d, nd = %d\n", n, m, nd);
86798679
// project A0 onto U
86808680
for (int i = 0; i < n; ++i) {
86818681
for (int j = 0; j < nd; ++j) {
86828682
A[i * nd + j] = 0.0f;
8683+
//if (j == 0) continue;
86838684
for (int k = 0; k < m; ++k) {
86848685
A[i * nd + j] += A0[i * m + k] * U[j * m + k];
86858686
}

0 commit comments

Comments
 (0)