diff --git a/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.cpp b/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.cpp index 8850b0539..c7fed37d2 100644 --- a/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.cpp +++ b/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.cpp @@ -13,8 +13,8 @@ namespace mmdeploy { #define MAX(a, b) (((a) < (b)) ? (b) : (a)) #define CLIP_COORDINATES(in, out, clip_limit) out = MIN((clip_limit - 1), MAX(in, 0)) -GridSampleKernel::GridSampleKernel(OrtApi api, const OrtKernelInfo *info) - : api_(api), ort_(api_), info_(info) { +GridSampleKernel::GridSampleKernel(const OrtApi &api, const OrtKernelInfo *info) + : ort_(api), info_(info) { align_corners_ = ort_.KernelInfoGetAttribute(info, "align_corners"); interpolation_mode_ = ort_.KernelInfoGetAttribute(info, "interpolation_mode"); padding_mode_ = ort_.KernelInfoGetAttribute(info, "padding_mode"); diff --git a/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.h b/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.h index afdb04d14..2581b7833 100644 --- a/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.h +++ b/csrc/mmdeploy/backend_ops/onnxruntime/grid_sample/grid_sample.h @@ -7,12 +7,11 @@ namespace mmdeploy { struct GridSampleKernel { - GridSampleKernel(OrtApi api, const OrtKernelInfo *info); + GridSampleKernel(const OrtApi &api, const OrtKernelInfo *info); void Compute(OrtKernelContext *context); protected: - OrtApi api_; Ort::CustomOpApi ort_; const OrtKernelInfo *info_; Ort::AllocatorWithDefaultOptions allocator_; @@ -23,7 +22,7 @@ struct GridSampleKernel { }; struct GridSampleOp : Ort::CustomOpBase { - void *CreateKernel(OrtApi api, const OrtKernelInfo *info) const { + void *CreateKernel(const OrtApi &api, const OrtKernelInfo *info) const { return new GridSampleKernel(api, info); }; diff --git a/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.cpp b/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.cpp index 3df1217a3..818e2fa6c 100644 --- a/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.cpp +++ b/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.cpp @@ -109,8 +109,9 @@ void deformable_conv2d_ref_fp32(const float *src, const float *offset, const flo } } -MMCVModulatedDeformConvKernel::MMCVModulatedDeformConvKernel(OrtApi api, const OrtKernelInfo *info) - : api_(api), ort_(api_), info_(info) { +MMCVModulatedDeformConvKernel::MMCVModulatedDeformConvKernel(const OrtApi &api, + const OrtKernelInfo *info) + : ort_(api), info_(info) { std::vector stride = ort_.KernelInfoGetAttribute>(info, "stride"); stride_height_ = stride[0]; stride_width_ = stride[1]; diff --git a/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.h b/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.h index 6ed6be5ce..772a9c4a8 100644 --- a/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.h +++ b/csrc/mmdeploy/backend_ops/onnxruntime/modulated_deform_conv/modulated_deform_conv.h @@ -7,12 +7,11 @@ namespace mmdeploy { struct MMCVModulatedDeformConvKernel { - MMCVModulatedDeformConvKernel(OrtApi api, const OrtKernelInfo *info); + MMCVModulatedDeformConvKernel(const OrtApi &api, const OrtKernelInfo *info); void Compute(OrtKernelContext *context); protected: - OrtApi api_; Ort::CustomOpApi ort_; const OrtKernelInfo *info_; Ort::AllocatorWithDefaultOptions allocator_; @@ -29,7 +28,7 @@ struct MMCVModulatedDeformConvKernel { struct MMCVModulatedDeformConvOp : Ort::CustomOpBase { - void *CreateKernel(OrtApi api, const OrtKernelInfo *info) const { + void *CreateKernel(const OrtApi &api, const OrtKernelInfo *info) const { return new MMCVModulatedDeformConvKernel(api, info); } diff --git a/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.cpp b/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.cpp index 6052195a5..9da009104 100644 --- a/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.cpp +++ b/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.cpp @@ -261,8 +261,8 @@ float rotated_boxes_intersection(const RotatedBox& box1, const RotatedBox& box2) return polygon_area(orderedPts, num_convex); } -NMSRotatedKernel::NMSRotatedKernel(OrtApi api, const OrtKernelInfo* info) - : api_(api), ort_(api_), info_(info) { +NMSRotatedKernel::NMSRotatedKernel(const OrtApi& api, const OrtKernelInfo* info) + : ort_(api), info_(info) { iou_threshold_ = ort_.KernelInfoGetAttribute(info, "iou_threshold"); score_threshold_ = ort_.KernelInfoGetAttribute(info, "score_threshold"); diff --git a/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.h b/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.h index c1a12dad1..6ed44ce41 100644 --- a/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.h +++ b/csrc/mmdeploy/backend_ops/onnxruntime/nms_rotated/nms_rotated.h @@ -12,12 +12,11 @@ namespace mmdeploy { struct NMSRotatedKernel { - NMSRotatedKernel(OrtApi api, const OrtKernelInfo* info); + NMSRotatedKernel(const OrtApi& api, const OrtKernelInfo* info); void Compute(OrtKernelContext* context); private: - OrtApi api_; Ort::CustomOpApi ort_; const OrtKernelInfo* info_; Ort::AllocatorWithDefaultOptions allocator_; @@ -26,7 +25,7 @@ struct NMSRotatedKernel { }; struct NMSRotatedOp : Ort::CustomOpBase { - void* CreateKernel(OrtApi api, const OrtKernelInfo* info) const { + void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const { return new NMSRotatedKernel(api, info); } const char* GetName() const { return "NMSRotated"; } diff --git a/csrc/mmdeploy/net/ort/ort_net.cpp b/csrc/mmdeploy/net/ort/ort_net.cpp index 7ed8cc5af..f26abb7a0 100644 --- a/csrc/mmdeploy/net/ort/ort_net.cpp +++ b/csrc/mmdeploy/net/ort/ort_net.cpp @@ -74,7 +74,11 @@ Result OrtNet::Init(const Value& args) { }; for (int i = 0; i < n_inputs; ++i) { +#if ORT_API_VERSION >= 13 + auto input_name = session_.GetInputNameAllocated(i, allocator).release(); +#else auto input_name = session_.GetInputName(i, allocator); +#endif auto type_info = session_.GetInputTypeInfo(i); auto shape = to_shape(type_info); MMDEPLOY_DEBUG("input {}, shape = {}", i, shape); @@ -88,7 +92,11 @@ Result OrtNet::Init(const Value& args) { auto n_outputs = session_.GetOutputCount(); for (int i = 0; i < n_outputs; ++i) { +#if ORT_API_VERSION >= 13 + auto output_name = session_.GetOutputNameAllocated(i, allocator).release(); +#else auto output_name = session_.GetOutputName(i, allocator); +#endif auto type_info = session_.GetOutputTypeInfo(i); auto shape = to_shape(type_info); MMDEPLOY_DEBUG("output {}, shape = {}", i, shape);