diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/application/main/UseCaseCommonUtils.cc | 4 | ||||
-rw-r--r-- | source/use_case/ad/src/MainLoop.cc | 1 | ||||
-rw-r--r-- | source/use_case/asr/src/MainLoop.cc | 1 | ||||
-rw-r--r-- | source/use_case/img_class/src/MainLoop.cc | 1 | ||||
-rw-r--r-- | source/use_case/img_class/src/UseCaseHandler.cc | 2 | ||||
-rw-r--r-- | source/use_case/kws/src/MainLoop.cc | 1 | ||||
-rw-r--r-- | source/use_case/kws_asr/src/MainLoop.cc | 1 | ||||
-rw-r--r-- | source/use_case/vww/src/MainLoop.cc | 1 | ||||
-rw-r--r-- | source/use_case/vww/src/UseCaseHandler.cc | 18 |
9 files changed, 22 insertions, 8 deletions
diff --git a/source/application/main/UseCaseCommonUtils.cc b/source/application/main/UseCaseCommonUtils.cc index a99e05d..e48e308 100644 --- a/source/application/main/UseCaseCommonUtils.cc +++ b/source/application/main/UseCaseCommonUtils.cc @@ -35,8 +35,8 @@ void DisplayCommonMenu() void image::ConvertImgToInt8(void* data, const size_t kMaxImageSize) { - auto* tmp_req_data = (uint8_t*) data; - auto* tmp_signed_req_data = (int8_t*) data; + auto* tmp_req_data = static_cast<uint8_t *>(data); + auto* tmp_signed_req_data = static_cast<int8_t *>(data); for (size_t i = 0; i < kMaxImageSize; i++) { tmp_signed_req_data[i] = (int8_t) ( diff --git a/source/use_case/ad/src/MainLoop.cc b/source/use_case/ad/src/MainLoop.cc index 3c2f9cc..a323610 100644 --- a/source/use_case/ad/src/MainLoop.cc +++ b/source/use_case/ad/src/MainLoop.cc @@ -90,6 +90,7 @@ void main_loop(hal_platform& platform) case MENU_OPT_RUN_INF_CHOSEN: { printf(" Enter the data index [0, %d]: ", NUMBER_OF_FILES-1); + fflush(stdout); auto audioIndex = static_cast<uint32_t>( arm::app::ReadUserInputAsInt(platform)); executionSuccessful = ClassifyVibrationHandler(caseContext, diff --git a/source/use_case/asr/src/MainLoop.cc b/source/use_case/asr/src/MainLoop.cc index 42bb08e..87145f4 100644 --- a/source/use_case/asr/src/MainLoop.cc +++ b/source/use_case/asr/src/MainLoop.cc @@ -133,6 +133,7 @@ void main_loop(hal_platform& platform) case MENU_OPT_RUN_INF_CHOSEN: { printf(" Enter the audio clip index [0, %d]: ", NUMBER_OF_FILES-1); + fflush(stdout); auto clipIndex = static_cast<uint32_t>( arm::app::ReadUserInputAsInt(platform)); executionSuccessful = ClassifyAudioHandler(caseContext, diff --git a/source/use_case/img_class/src/MainLoop.cc b/source/use_case/img_class/src/MainLoop.cc index 79f6018..ea9f14a 100644 --- a/source/use_case/img_class/src/MainLoop.cc +++ b/source/use_case/img_class/src/MainLoop.cc @@ -68,6 +68,7 @@ void main_loop(hal_platform& platform) break; case common::MENU_OPT_RUN_INF_CHOSEN: { printf(" Enter the image index [0, %d]: ", NUMBER_OF_FILES-1); + fflush(stdout); auto imgIndex = static_cast<uint32_t>(arm::app::ReadUserInputAsInt(platform)); executionSuccessful = ClassifyImageHandler(caseContext, imgIndex, false); break; diff --git a/source/use_case/img_class/src/UseCaseHandler.cc b/source/use_case/img_class/src/UseCaseHandler.cc index 66df1da..effc06f 100644 --- a/source/use_case/img_class/src/UseCaseHandler.cc +++ b/source/use_case/img_class/src/UseCaseHandler.cc @@ -97,7 +97,7 @@ namespace app { /* Display this image on the LCD. */ platform.data_psn->present_data_image( - (uint8_t*) inputTensor->data.data, + static_cast<uint8_t *>(inputTensor->data.data), nCols, nRows, nChannels, dataPsnImgStartX, dataPsnImgStartY, dataPsnImgDownscaleFactor); diff --git a/source/use_case/kws/src/MainLoop.cc b/source/use_case/kws/src/MainLoop.cc index 80254d0..c683e71 100644 --- a/source/use_case/kws/src/MainLoop.cc +++ b/source/use_case/kws/src/MainLoop.cc @@ -95,6 +95,7 @@ void main_loop(hal_platform& platform) break; case MENU_OPT_RUN_INF_CHOSEN: { printf(" Enter the audio clip index [0, %d]: ", NUMBER_OF_FILES-1); + fflush(stdout); auto clipIndex = static_cast<uint32_t>(arm::app::ReadUserInputAsInt(platform)); executionSuccessful = ClassifyAudioHandler(caseContext, clipIndex, false); break; diff --git a/source/use_case/kws_asr/src/MainLoop.cc b/source/use_case/kws_asr/src/MainLoop.cc index ed9034f..d5a2c2b 100644 --- a/source/use_case/kws_asr/src/MainLoop.cc +++ b/source/use_case/kws_asr/src/MainLoop.cc @@ -161,6 +161,7 @@ void main_loop(hal_platform& platform) case MENU_OPT_RUN_INF_CHOSEN: { printf(" Enter the audio clip index [0, %d]: ", NUMBER_OF_FILES-1); + fflush(stdout); auto clipIndex = static_cast<uint32_t>( arm::app::ReadUserInputAsInt(platform)); executionSuccessful = ClassifyAudioHandler(caseContext, diff --git a/source/use_case/vww/src/MainLoop.cc b/source/use_case/vww/src/MainLoop.cc index f026cc2..b29238c 100644 --- a/source/use_case/vww/src/MainLoop.cc +++ b/source/use_case/vww/src/MainLoop.cc @@ -67,6 +67,7 @@ void main_loop(hal_platform &platform) break; case common::MENU_OPT_RUN_INF_CHOSEN: { printf(" Enter the image index [0, %d]: ", NUMBER_OF_FILES-1); + fflush(stdout); auto imgIndex = static_cast<uint32_t>(arm::app::ReadUserInputAsInt(platform)); executionSuccessful = ClassifyImageHandler(caseContext, imgIndex, false); break; diff --git a/source/use_case/vww/src/UseCaseHandler.cc b/source/use_case/vww/src/UseCaseHandler.cc index fb2e837..d384032 100644 --- a/source/use_case/vww/src/UseCaseHandler.cc +++ b/source/use_case/vww/src/UseCaseHandler.cc @@ -21,6 +21,8 @@ #include "UseCaseCommonUtils.hpp" #include "hal.h" +#include <algorithm> + namespace arm { namespace app { @@ -94,13 +96,19 @@ namespace app { /* Display this image on the LCD. */ platform.data_psn->present_data_image( - (uint8_t *) inputTensor->data.data, + static_cast<uint8_t *>(inputTensor->data.data), nCols, nRows, nChannels, dataPsnImgStartX, dataPsnImgStartY, dataPsnImgDownscaleFactor); - /* If the data is signed. */ - if (model.IsDataSigned()) { - image::ConvertImgToInt8(inputTensor->data.data, inputTensor->bytes); + /* Vww model preprocessing is image conversion from uint8 to [0,1] float values, + * then quantize them with input quantization info. */ + QuantParams inQuantParams = GetTensorQuantParams(inputTensor); + + auto* req_data = static_cast<uint8_t *>(inputTensor->data.data); + auto* signed_req_data = static_cast<int8_t *>(inputTensor->data.data); + for (size_t i = 0; i < inputTensor->bytes; i++) { + auto i_data_int8 = static_cast<int8_t>(((static_cast<float>(req_data[i]) / 255.0f) / inQuantParams.scale) + inQuantParams.offset); + signed_req_data[i] = std::min<int8_t>(INT8_MAX, std::max<int8_t>(i_data_int8, INT8_MIN)); } /* Display message on the LCD - inference running. */ @@ -159,7 +167,7 @@ namespace app { const uint32_t nChannels = (inputTensor->dims->size == 4) ? inputTensor->dims->data[3] : 1; const uint8_t* srcPtr = get_img_array(imIdx); - auto* dstPtr = (uint8_t*)inputTensor->data.data; + auto* dstPtr = static_cast<uint8_t *>(inputTensor->data.data); if (1 == nChannels) { /** * Visual Wake Word model accepts only one channel => |