From 2112f3dd76f558a8e68cd437ab0e15b02ee094b2 Mon Sep 17 00:00:00 2001 From: Jan Buethe Date: Wed, 19 Oct 2022 10:58:24 +0200 Subject: [PATCH] some fixes --- dnn/nfec_enc.c | 2 -- dnn/nfec_enc_demo.c | 33 ++++++++++++++++++++++++++++----- dnn/vec.h | 2 +- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/dnn/nfec_enc.c b/dnn/nfec_enc.c index 391c4bf9..1957ab9e 100644 --- a/dnn/nfec_enc.c +++ b/dnn/nfec_enc.c @@ -2,8 +2,6 @@ #include "nnet.h" #include "nfec_enc_data.h" - - void nfec_encode_dframe(struct NFECEncState *enc_state, float *latents, float *initial_state, const float *input) { float buffer[ENC_DENSE1_OUT_SIZE + ENC_DENSE2_OUT_SIZE + ENC_DENSE3_OUT_SIZE + ENC_DENSE4_OUT_SIZE + ENC_DENSE5_OUT_SIZE + ENC_DENSE6_OUT_SIZE + ENC_DENSE7_OUT_SIZE + ENC_DENSE8_OUT_SIZE + GDENSE1_OUT_SIZE]; diff --git a/dnn/nfec_enc_demo.c b/dnn/nfec_enc_demo.c index 520a34d4..addc52dd 100644 --- a/dnn/nfec_enc_demo.c +++ b/dnn/nfec_enc_demo.c @@ -5,7 +5,7 @@ void usage() { - printf("nfec_enc_demo "); + printf("nfec_enc_demo \n"); exit(1); } @@ -17,9 +17,11 @@ int main(int argc, char **argv) float latents[80]; float initial_state[24]; int index = 0; - FILE *fid; + FILE *fid, *latents_fid, *states_fid; - if (argc < 2) + memset(&enc_state, 0, sizeof(enc_state)); + + if (argc < 4) { usage(); } @@ -31,16 +33,37 @@ int main(int argc, char **argv) usage(); } + latents_fid = fopen(argv[2], "wb"); + if (latents_fid == NULL) + { + fprintf(stderr, "could not open latents file %s\n", argv[2]); + usage(); + } + + states_fid = fopen(argv[3], "wb"); + if (fid == NULL) + { + fprintf(stderr, "could not open states file %s\n", argv[3]); + usage(); + } + + while (fread(feature_buffer, sizeof(float), 32, fid) == 32) { - memcpy(dframe[16 * index++], feature_buffer, 16*sizeof(float)); + memcpy(&dframe[16 * index++], feature_buffer, 16*sizeof(float)); if (index == 2) { nfec_encode_dframe(&enc_state, latents, initial_state, dframe); index = 0; + fwrite(latents, sizeof(float), NFEC_LATENT_DIM, latents_fid); + fwrite(initial_state, sizeof(float), GDENSE2_OUT_SIZE, states_fid); } } + + fclose(fid); + fclose(states_fid); + fclose(latents_fid); } -/* gcc -DDISABLE_DOT_PROD nfec_enc_demo.c nfec_enc.c nnet.c nfec_enc_data.c -o nfec_enc_demo */ \ No newline at end of file +/* gcc -DDISABLE_DOT_PROD -DDISABLE_NEON nfec_enc_demo.c nfec_enc.c nnet.c nfec_enc_data.c kiss99.c -o nfec_enc_demo */ \ No newline at end of file diff --git a/dnn/vec.h b/dnn/vec.h index d1f82b54..d24dd8b6 100644 --- a/dnn/vec.h +++ b/dnn/vec.h @@ -37,7 +37,7 @@ #if defined(__AVX__) || defined(__SSE2__) #include "vec_avx.h" -#elif defined(__ARM_NEON__) || defined(__ARM_NEON) +#elif (defined(__ARM_NEON__) || defined(__ARM_NEON)) && !defined(DISABLE_NEON) #include "vec_neon.h" #else