diff options
Diffstat (limited to 'reference_model/src/model_runner_impl.cc')
-rw-r--r-- | reference_model/src/model_runner_impl.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/reference_model/src/model_runner_impl.cc b/reference_model/src/model_runner_impl.cc index bf23bac..b01b90c 100644 --- a/reference_model/src/model_runner_impl.cc +++ b/reference_model/src/model_runner_impl.cc @@ -243,6 +243,12 @@ int ModelRunnerImpl::setInput(std::string input_name, uint8_t* raw_ptr, size_t s status = setInput(input_name, ArrayProxy(elements, typed_ptr)); } break; + case TOSA_REF_TYPE_INT8: { + auto typed_ptr = reinterpret_cast<int8_t*>(raw_ptr); + const int elements = size / sizeof(int8_t); + status = setInput(input_name, ArrayProxy(elements, typed_ptr)); + break; + } case TOSA_REF_TYPE_INT16: { auto typed_ptr = reinterpret_cast<int16_t*>(raw_ptr); const int elements = size / sizeof(int16_t); @@ -339,6 +345,12 @@ int ModelRunnerImpl::getOutput(std::string output_name, uint8_t* raw_ptr, size_t status = tensor->writeToVector(ArrayProxy(elements, typed_ptr)); break; } + case TOSA_REF_TYPE_INT8: { + auto typed_ptr = reinterpret_cast<int8_t*>(raw_ptr); + const int elements = size / sizeof(int8_t); + status = tensor->writeToVector(ArrayProxy(elements, typed_ptr)); + break; + } case TOSA_REF_TYPE_INT16: { auto typed_ptr = reinterpret_cast<int16_t*>(raw_ptr); const int elements = size / sizeof(int16_t); @@ -449,6 +461,8 @@ void ModelRunnerImpl::checkGraphStatus(SubgraphTraverser& main_gt) template int ModelRunnerImpl::setInput<double>(std::string input_name, ArrayProxy<double> vals); template int ModelRunnerImpl::setInput<float>(std::string input_name, ArrayProxy<float> vals); template int ModelRunnerImpl::setInput<half_float::half>(std::string input_name, ArrayProxy<half_float::half> vals); +template int ModelRunnerImpl::setInput<int8_t>(std::string input_name, ArrayProxy<int8_t> vals); +template int ModelRunnerImpl::setInput<int16_t>(std::string input_name, ArrayProxy<int16_t> vals); template int ModelRunnerImpl::setInput<int32_t>(std::string input_name, ArrayProxy<int32_t> vals); template int ModelRunnerImpl::setInput<int64_t>(std::string input_name, ArrayProxy<int64_t> vals); template int ModelRunnerImpl::setInput<unsigned char>(std::string input_name, ArrayProxy<unsigned char> vals); @@ -456,6 +470,8 @@ template int ModelRunnerImpl::setInput<unsigned char>(std::string input_name, Ar template std::vector<double> ModelRunnerImpl::getOutput<double>(std::string output_name); template std::vector<float> ModelRunnerImpl::getOutput<float>(std::string output_name); template std::vector<half_float::half> ModelRunnerImpl::getOutput<half_float::half>(std::string output_name); +template std::vector<int8_t> ModelRunnerImpl::getOutput<int8_t>(std::string output_name); +template std::vector<int16_t> ModelRunnerImpl::getOutput<int16_t>(std::string output_name); template std::vector<int32_t> ModelRunnerImpl::getOutput<int32_t>(std::string output_name); template std::vector<int64_t> ModelRunnerImpl::getOutput<int64_t>(std::string output_name); template std::vector<unsigned char> ModelRunnerImpl::getOutput<unsigned char>(std::string output_name); |