8 #ifndef _SEIMPLEMENTATION_COMMON_ONNXMODEL_H_
9 #define _SEIMPLEMENTATION_COMMON_ONNXMODEL_H_
17 #include <onnxruntime_cxx_api.h>
26 template<
typename T,
typename U>
28 Ort::RunOptions run_options;
29 auto mem_info = Ort::MemoryInfo::CreateCpu(OrtDeviceAllocator, OrtMemTypeCPU);
43 auto input_tensor = Ort::Value::CreateTensor<T>(
44 mem_info, input_data.
data(), input_data.
size(), input_shape.
data(), input_shape.
size());
45 auto output_tensor = Ort::Value::CreateTensor<U>(
46 mem_info, output_data.
data(), output_data.
size(), output_shape.
data(), output_shape.
size());
52 m_session->Run(run_options, &input_name, &input_tensor, 1, &output_name, &output_tensor, 1);
55 template<
typename T,
typename U>
57 Ort::RunOptions run_options;
58 auto mem_info = Ort::MemoryInfo::CreateCpu(OrtDeviceAllocator, OrtMemTypeCPU);
64 for (
int i=0; i<inputs_nb; i++) {
74 input_shape.
data(), input_shape.
size()));
84 auto output_tensor = Ort::Value::CreateTensor<U>(
85 mem_info, output_data.
data(), output_data.
size(), output_shape.
data(), output_shape.
size());
88 m_session->Run(run_options, &input_names[0], &input_tensors[0], inputs_nb, &output_name, &output_tensor, 1);
T emplace_back(T... args)