@@ -289,7 +289,7 @@ void OrtModel::setEnv(Ort::Env* env)
289289
290290// Inference
291291template <class I , class O >
292- std::vector<O> OrtModel::inference (std::vector<I>& input)
292+ std::vector<O> OrtModel::inference (std::vector<I>& input) const
293293{
294294 std::vector<int64_t > inputShape = mInputShapes [0 ];
295295 inputShape[0 ] = input.size ();
@@ -310,12 +310,12 @@ std::vector<O> OrtModel::inference(std::vector<I>& input)
310310 return outputValuesVec;
311311}
312312
313- template std::vector<float > o2::ml::OrtModel::inference<float , float >(std::vector<float >&);
314- template std::vector<float > o2::ml::OrtModel::inference<OrtDataType::Float16_t, float >(std::vector<OrtDataType::Float16_t>&);
315- template std::vector<OrtDataType::Float16_t> o2::ml::OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(std::vector<OrtDataType::Float16_t>&);
313+ template std::vector<float > o2::ml::OrtModel::inference<float , float >(std::vector<float >&) const ;
314+ template std::vector<float > o2::ml::OrtModel::inference<OrtDataType::Float16_t, float >(std::vector<OrtDataType::Float16_t>&) const ;
315+ template std::vector<OrtDataType::Float16_t> o2::ml::OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(std::vector<OrtDataType::Float16_t>&) const ;
316316
317317template <class I , class O >
318- void OrtModel::inference (I* input, int64_t input_size, O* output)
318+ void OrtModel::inference (I* input, int64_t input_size, O* output) const
319319{
320320 // std::vector<std::string> providers = Ort::GetAvailableProviders();
321321 // for (const auto& provider : providers) {
@@ -350,13 +350,13 @@ void OrtModel::inference(I* input, int64_t input_size, O* output)
350350 // mOutputNamesChar.size());
351351}
352352
353- template void OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(OrtDataType::Float16_t*, int64_t , OrtDataType::Float16_t*);
354- template void OrtModel::inference<OrtDataType::Float16_t, float >(OrtDataType::Float16_t*, int64_t , float *);
355- template void OrtModel::inference<float , OrtDataType::Float16_t>(float *, int64_t , OrtDataType::Float16_t*);
356- template void OrtModel::inference<float , float >(float *, int64_t , float *);
353+ template void OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(OrtDataType::Float16_t*, int64_t , OrtDataType::Float16_t*) const ;
354+ template void OrtModel::inference<OrtDataType::Float16_t, float >(OrtDataType::Float16_t*, int64_t , float *) const ;
355+ template void OrtModel::inference<float , OrtDataType::Float16_t>(float *, int64_t , OrtDataType::Float16_t*) const ;
356+ template void OrtModel::inference<float , float >(float *, int64_t , float *) const ;
357357
358358template <class I , class O >
359- void OrtModel::inference (I** input, int64_t input_size, O* output)
359+ void OrtModel::inference (I** input, int64_t input_size, O* output) const
360360{
361361 std::vector<Ort::Value> inputTensors (mInputShapesCopy .size ());
362362
@@ -410,13 +410,13 @@ void OrtModel::inference(I** input, int64_t input_size, O* output)
410410 mOutputNamesChar .size ());
411411}
412412
413- template void OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(OrtDataType::Float16_t**, int64_t , OrtDataType::Float16_t*);
414- template void OrtModel::inference<OrtDataType::Float16_t, float >(OrtDataType::Float16_t**, int64_t , float *);
415- template void OrtModel::inference<float , OrtDataType::Float16_t>(float **, int64_t , OrtDataType::Float16_t*);
416- template void OrtModel::inference<float , float >(float **, int64_t , float *);
413+ template void OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(OrtDataType::Float16_t**, int64_t , OrtDataType::Float16_t*) const ;
414+ template void OrtModel::inference<OrtDataType::Float16_t, float >(OrtDataType::Float16_t**, int64_t , float *) const ;
415+ template void OrtModel::inference<float , OrtDataType::Float16_t>(float **, int64_t , OrtDataType::Float16_t*) const ;
416+ template void OrtModel::inference<float , float >(float **, int64_t , float *) const ;
417417
418418template <class I , class O >
419- std::vector<O> OrtModel::inference (std::vector<std::vector<I>>& inputs)
419+ std::vector<O> OrtModel::inference (std::vector<std::vector<I>>& inputs) const
420420{
421421 std::vector<Ort::Value> input_tensors;
422422
@@ -461,8 +461,8 @@ std::vector<O> OrtModel::inference(std::vector<std::vector<I>>& inputs)
461461 return output_vec;
462462}
463463
464- template std::vector<float > OrtModel::inference<float , float >(std::vector<std::vector<float >>&);
465- template std::vector<OrtDataType::Float16_t> OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(std::vector<std::vector<OrtDataType::Float16_t>>&);
464+ template std::vector<float > OrtModel::inference<float , float >(std::vector<std::vector<float >>&) const ;
465+ template std::vector<OrtDataType::Float16_t> OrtModel::inference<OrtDataType::Float16_t, OrtDataType::Float16_t>(std::vector<std::vector<OrtDataType::Float16_t>>&) const ;
466466
467467// Release session
468468void OrtModel::release (bool profilingEnabled)
0 commit comments