fix the C++ dangling pointer from the security check (#296)
* fix the C++ dangling pointer from the security check * one more fixing
This commit is contained in:
Родитель
929283d4df
Коммит
d29f6d0f42
|
@ -51,7 +51,7 @@ struct OrtTensorDimensions : std::vector<int64_t> {
|
|||
}
|
||||
|
||||
int64_t Size() const {
|
||||
int64_t s = 1.;
|
||||
int64_t s = 1;
|
||||
for (auto it = begin(); it != end(); ++it)
|
||||
s *= *it;
|
||||
return s;
|
||||
|
|
|
@ -896,13 +896,36 @@ struct CustomOpBase : OrtCustomOp {
|
|||
OrtCustomOp::GetOutputTypeCount = [](const OrtCustomOp* this_) { return static_cast<const TOp*>(this_)->GetOutputTypeCount(); };
|
||||
OrtCustomOp::GetOutputType = [](const OrtCustomOp* this_, size_t index) { return static_cast<const TOp*>(this_)->GetOutputType(index); };
|
||||
|
||||
OrtCustomOp::KernelCompute = [](void* op_kernel, OrtKernelContext* context) { static_cast<TKernel*>(op_kernel)->Compute(context); };
|
||||
OrtCustomOp::KernelDestroy = [](void* op_kernel) { delete static_cast<TKernel*>(op_kernel); };
|
||||
|
||||
OrtCustomOp::KernelCompute = [](void* op_kernel, OrtKernelContext* context) { static_cast<TKernel*>(op_kernel)->Compute(context); };
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 26409)
|
||||
#endif
|
||||
OrtCustomOp::KernelDestroy = [](void* op_kernel) { delete static_cast<TKernel*>(op_kernel); };
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
OrtCustomOp::GetInputCharacteristic = [](const OrtCustomOp* this_, size_t index) { return static_cast<const TOp*>(this_)->GetInputCharacteristic(index); };
|
||||
OrtCustomOp::GetOutputCharacteristic = [](const OrtCustomOp* this_, size_t index) { return static_cast<const TOp*>(this_)->GetOutputCharacteristic(index); };
|
||||
}
|
||||
|
||||
template <typename... Args>
|
||||
TKernel* CreateKernelImpl(Args&&... args) const {
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#pragma warning(push)
|
||||
#pragma warning(disable : 26409)
|
||||
#endif
|
||||
return new TKernel(std::forward<Args>(args)...);
|
||||
#if defined(_MSC_VER) && !defined(__clang__)
|
||||
#pragma warning(pop)
|
||||
#endif
|
||||
}
|
||||
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return CreateKernelImpl(api);
|
||||
}
|
||||
|
||||
// Default implementation of GetExecutionProviderType that returns nullptr to default to the CPU provider
|
||||
const char* GetExecutionProviderType() const { return nullptr; }
|
||||
|
||||
|
|
|
@ -77,8 +77,4 @@ struct CustomOpGaussianBlur : Ort::CustomOpBase<CustomOpGaussianBlur, KernelGaus
|
|||
const char* GetName() const{
|
||||
return "GaussianBlur";
|
||||
}
|
||||
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelGaussianBlur(api);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -48,8 +48,4 @@ struct CustomOpImageReader : Ort::CustomOpBase<CustomOpImageReader, KernelImageR
|
|||
const char* GetName() const{
|
||||
return "ImageReader";
|
||||
}
|
||||
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelImageReader(api);
|
||||
}
|
||||
};
|
||||
|
|
|
@ -34,10 +34,6 @@ struct KernelInverse : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpInverse : Ort::CustomOpBase<CustomOpInverse, KernelInverse> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelInverse(api);
|
||||
}
|
||||
|
||||
const char* GetName() const {
|
||||
return "Inverse";
|
||||
}
|
||||
|
|
|
@ -40,10 +40,6 @@ struct KernelNegPos : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpNegPos : Ort::CustomOpBase<CustomOpNegPos, KernelNegPos> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelNegPos(api);
|
||||
}
|
||||
|
||||
const char* GetName() const{
|
||||
return "NegPos";
|
||||
}
|
||||
|
|
|
@ -51,10 +51,6 @@ ONNXTensorElementDataType CustomOpSegmentExtraction::GetOutputType(size_t /*inde
|
|||
return ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64;
|
||||
};
|
||||
|
||||
void* CustomOpSegmentExtraction::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelSegmentExtraction(api);
|
||||
};
|
||||
|
||||
const char* CustomOpSegmentExtraction::GetName() const {
|
||||
return "SegmentExtraction";
|
||||
};
|
||||
|
|
|
@ -16,6 +16,5 @@ struct CustomOpSegmentExtraction : Ort::CustomOpBase<CustomOpSegmentExtraction,
|
|||
size_t GetOutputTypeCount() const;
|
||||
ONNXTensorElementDataType GetOutputType(size_t index) const;
|
||||
const char* GetName() const;
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
};
|
||||
|
|
|
@ -71,10 +71,6 @@ ONNXTensorElementDataType CustomOpSegmentSum::GetOutputType(size_t /*index*/) co
|
|||
return ONNX_TENSOR_ELEMENT_DATA_TYPE_FLOAT;
|
||||
};
|
||||
|
||||
void* CustomOpSegmentSum::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelSegmentSum(api);
|
||||
};
|
||||
|
||||
const char* CustomOpSegmentSum::GetName() const {
|
||||
return "SegmentSum";
|
||||
};
|
||||
|
|
|
@ -16,6 +16,5 @@ struct CustomOpSegmentSum : Ort::CustomOpBase<CustomOpSegmentSum, KernelSegmentS
|
|||
size_t GetOutputTypeCount() const;
|
||||
ONNXTensorElementDataType GetOutputType(size_t index) const;
|
||||
const char* GetName() const;
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
};
|
||||
|
|
|
@ -52,7 +52,7 @@ void KernelMaskedFill::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpMaskedFill::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelMaskedFill(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpMaskedFill::GetName() const { return "MaskedFill"; };
|
||||
|
|
|
@ -24,10 +24,6 @@ ONNXTensorElementDataType CustomOpStringEqual::GetOutputType(size_t /*index*/) c
|
|||
return ONNX_TENSOR_ELEMENT_DATA_TYPE_BOOL;
|
||||
};
|
||||
|
||||
void* CustomOpStringEqual::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const{
|
||||
return new KernelStringEqual(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringEqual::GetName() const {
|
||||
return "StringEqual";
|
||||
};
|
||||
|
|
|
@ -16,6 +16,5 @@ struct CustomOpStringEqual : Ort::CustomOpBase<CustomOpStringEqual, KernelString
|
|||
size_t GetOutputTypeCount() const;
|
||||
ONNXTensorElementDataType GetOutputType(size_t index) const;
|
||||
const char* GetName() const;
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
};
|
||||
|
|
|
@ -4,9 +4,6 @@
|
|||
#include "string_tensor.h"
|
||||
#include "op_ragged_tensor.hpp"
|
||||
|
||||
KernelRaggedTensorToSparse::KernelRaggedTensorToSparse(const OrtApi& api) : BaseKernel(api) {
|
||||
}
|
||||
|
||||
void KernelRaggedTensorToSparse::Compute(OrtKernelContext* context) {
|
||||
const OrtValue* n_elements = ort_.KernelContext_GetInput(context, 0);
|
||||
const int64_t* p_n_elements = ort_.GetTensorData<int64_t>(n_elements);
|
||||
|
@ -53,10 +50,6 @@ ONNXTensorElementDataType CustomOpRaggedTensorToSparse::GetOutputType(size_t /*i
|
|||
return ONNX_TENSOR_ELEMENT_DATA_TYPE_INT64;
|
||||
};
|
||||
|
||||
void* CustomOpRaggedTensorToSparse::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelRaggedTensorToSparse(api);
|
||||
};
|
||||
|
||||
const char* CustomOpRaggedTensorToSparse::GetName() const {
|
||||
return "RaggedTensorToSparse";
|
||||
};
|
||||
|
@ -135,7 +128,7 @@ ONNXTensorElementDataType CustomOpRaggedTensorToDense::GetOutputType(size_t /*in
|
|||
};
|
||||
|
||||
void* CustomOpRaggedTensorToDense::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelRaggedTensorToDense(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpRaggedTensorToDense::GetName() const {
|
||||
|
@ -194,7 +187,7 @@ ONNXTensorElementDataType CustomOpStringRaggedTensorToDense::GetOutputType(size_
|
|||
};
|
||||
|
||||
void* CustomOpStringRaggedTensorToDense::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelStringRaggedTensorToDense(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpStringRaggedTensorToDense::GetName() const {
|
||||
|
|
|
@ -6,7 +6,9 @@
|
|||
#include "ocos.h"
|
||||
|
||||
struct KernelRaggedTensorToSparse : BaseKernel {
|
||||
KernelRaggedTensorToSparse(const OrtApi& api);
|
||||
KernelRaggedTensorToSparse(const OrtApi& api)
|
||||
: BaseKernel(api) {}
|
||||
|
||||
void Compute(OrtKernelContext* context);
|
||||
};
|
||||
|
||||
|
@ -15,7 +17,6 @@ struct CustomOpRaggedTensorToSparse : Ort::CustomOpBase<CustomOpRaggedTensorToSp
|
|||
size_t GetOutputTypeCount() const;
|
||||
ONNXTensorElementDataType GetOutputType(size_t index) const;
|
||||
const char* GetName() const;
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
};
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ void KernelStringRegexReplace::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpStringRegexReplace::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelStringRegexReplace(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpStringRegexReplace::GetName() const { return "StringRegexReplace"; };
|
||||
|
|
|
@ -80,7 +80,7 @@ void KernelStringRegexSplitWithOffsets::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpStringRegexSplitWithOffsets::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelStringRegexSplitWithOffsets(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpStringRegexSplitWithOffsets::GetName() const { return "StringRegexSplitWithOffsets"; };
|
||||
|
|
|
@ -37,10 +37,6 @@ void KernelStringConcat::Compute(OrtKernelContext* context) {
|
|||
FillTensorDataString(api_, ort_, context, left_value, output);
|
||||
}
|
||||
|
||||
void* CustomOpStringConcat::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringConcat(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringConcat::GetName() const { return "StringConcat"; };
|
||||
|
||||
size_t CustomOpStringConcat::GetInputTypeCount() const {
|
||||
|
|
|
@ -12,7 +12,6 @@ struct KernelStringConcat : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringConcat : Ort::CustomOpBase<CustomOpStringConcat, KernelStringConcat> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
|
|
@ -71,7 +71,7 @@ void KernelStringECMARegexReplace::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpStringECMARegexReplace::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelStringECMARegexReplace(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpStringECMARegexReplace::GetName() const { return "StringECMARegexReplace"; };
|
||||
|
|
|
@ -85,7 +85,7 @@ void KernelStringECMARegexSplitWithOffsets::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpStringECMARegexSplitWithOffsets::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelStringECMARegexSplitWithOffsets(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpStringECMARegexSplitWithOffsets::GetName() const { return "StringECMARegexSplitWithOffsets"; };
|
||||
|
|
|
@ -43,10 +43,6 @@ void KernelStringHash::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
}
|
||||
|
||||
void* CustomOpStringHash::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringHash(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringHash::GetName() const { return "StringToHashBucket"; };
|
||||
|
||||
size_t CustomOpStringHash::GetInputTypeCount() const {
|
||||
|
@ -106,10 +102,6 @@ void KernelStringHashFast::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
}
|
||||
|
||||
void* CustomOpStringHashFast::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringHashFast(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringHashFast::GetName() const { return "StringToHashBucketFast"; };
|
||||
|
||||
size_t CustomOpStringHashFast::GetInputTypeCount() const {
|
||||
|
|
|
@ -12,7 +12,6 @@ struct KernelStringHash : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringHash : Ort::CustomOpBase<CustomOpStringHash, KernelStringHash> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
@ -26,7 +25,6 @@ struct KernelStringHashFast : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringHashFast : Ort::CustomOpBase<CustomOpStringHashFast, KernelStringHashFast> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
|
|
@ -86,10 +86,6 @@ void KernelStringJoin::Compute(OrtKernelContext* context) {
|
|||
FillTensorDataString(api_, ort_, context, out, output);
|
||||
}
|
||||
|
||||
void* CustomOpStringJoin::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringJoin(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringJoin::GetName() const {
|
||||
return "StringJoin";
|
||||
};
|
||||
|
|
|
@ -12,7 +12,6 @@ struct KernelStringJoin : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringJoin : Ort::CustomOpBase<CustomOpStringJoin, KernelStringJoin> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
|
|
@ -27,10 +27,6 @@ void KernelStringLength::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
}
|
||||
|
||||
void* CustomOpStringLength::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringLength(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringLength::GetName() const { return "StringLength"; };
|
||||
|
||||
size_t CustomOpStringLength::GetInputTypeCount() const {
|
||||
|
|
|
@ -12,7 +12,6 @@ struct KernelStringLength : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringLength : Ort::CustomOpBase<CustomOpStringLength, KernelStringLength> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
|
|
@ -25,10 +25,6 @@ void KernelStringLower::Compute(OrtKernelContext* context) {
|
|||
FillTensorDataString(api_, ort_, context, X, output);
|
||||
}
|
||||
|
||||
void* CustomOpStringLower::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringLower(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringLower::GetName() const { return "StringLower"; };
|
||||
|
||||
size_t CustomOpStringLower::GetInputTypeCount() const {
|
||||
|
|
|
@ -12,7 +12,6 @@ struct KernelStringLower : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringLower : Ort::CustomOpBase<CustomOpStringLower, KernelStringLower> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
|
|
@ -42,7 +42,7 @@ void KernelStringMapping::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpStringMapping::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelStringMapping(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpStringMapping::GetName() const { return "StringMapping"; };
|
||||
|
|
|
@ -96,10 +96,6 @@ void KernelStringSplit::Compute(OrtKernelContext* context) {
|
|||
FillTensorDataString(api_, ort_, context, words, out_text);
|
||||
}
|
||||
|
||||
void* CustomOpStringSplit::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringSplit(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringSplit::GetName() const {
|
||||
return "StringSplit";
|
||||
};
|
||||
|
|
|
@ -12,7 +12,6 @@ struct KernelStringSplit : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringSplit : Ort::CustomOpBase<CustomOpStringSplit, KernelStringSplit> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
|
|
@ -133,7 +133,7 @@ void KernelStringToVector::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpStringToVector::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelStringToVector(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpStringToVector::GetName() const { return "StringToVector"; };
|
||||
|
|
|
@ -26,10 +26,6 @@ void KernelStringUpper::Compute(OrtKernelContext* context) {
|
|||
FillTensorDataString(api_, ort_, context, X, output);
|
||||
}
|
||||
|
||||
void* CustomOpStringUpper::CreateKernel(const OrtApi& api, const OrtKernelInfo* /* info */) const {
|
||||
return new KernelStringUpper(api);
|
||||
};
|
||||
|
||||
const char* CustomOpStringUpper::GetName() const { return "StringUpper"; };
|
||||
|
||||
size_t CustomOpStringUpper::GetInputTypeCount() const {
|
||||
|
|
|
@ -12,7 +12,6 @@ struct KernelStringUpper : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpStringUpper : Ort::CustomOpBase<CustomOpStringUpper, KernelStringUpper> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const;
|
||||
const char* GetName() const;
|
||||
size_t GetInputTypeCount() const;
|
||||
ONNXTensorElementDataType GetInputType(size_t index) const;
|
||||
|
|
|
@ -125,7 +125,7 @@ void KernelVectorToString::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpVectorToString::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelVectorToString(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpVectorToString::GetName() const { return "VectorToString"; };
|
||||
|
|
|
@ -106,7 +106,7 @@ void KernelBasicTokenizer::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpBasicTokenizer::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelBasicTokenizer(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpBasicTokenizer::GetName() const { return "BasicTokenizer"; };
|
||||
|
|
|
@ -318,7 +318,7 @@ void KernelBertTokenizer::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpBertTokenizer::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelBertTokenizer(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
}
|
||||
|
||||
const char* CustomOpBertTokenizer::GetName() const { return "BertTokenizer"; }
|
||||
|
@ -374,7 +374,7 @@ void KernelHfBertTokenizer::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpHfBertTokenizer::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelHfBertTokenizer(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
}
|
||||
|
||||
const char* CustomOpHfBertTokenizer::GetName() const { return "HfBertTokenizer"; }
|
||||
|
|
|
@ -171,7 +171,7 @@ void KernelBertTokenizerDecoder::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpBertTokenizerDecoder::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelBertTokenizerDecoder(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpBertTokenizerDecoder::GetName() const { return "BertTokenizerDecoder"; };
|
||||
|
|
|
@ -79,7 +79,7 @@ void KernelBlingFireSentenceBreaker::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpBlingFireSentenceBreaker::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelBlingFireSentenceBreaker(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpBlingFireSentenceBreaker::GetName() const { return "BlingFireSentenceBreaker"; };
|
||||
|
|
|
@ -583,7 +583,7 @@ void KernelBpeTokenizer::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpBpeTokenizer::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelBpeTokenizer(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
}
|
||||
|
||||
const char* CustomOpBpeTokenizer::GetName() const {
|
||||
|
|
|
@ -101,7 +101,7 @@ void KernelSentencepieceTokenizer::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpSentencepieceTokenizer::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelSentencepieceTokenizer(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpSentencepieceTokenizer::GetName() const {
|
||||
|
|
|
@ -163,7 +163,7 @@ void KernelWordpieceTokenizer::Compute(OrtKernelContext* context) {
|
|||
}
|
||||
|
||||
void* CustomOpWordpieceTokenizer::CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelWordpieceTokenizer(api, info);
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
|
||||
const char* CustomOpWordpieceTokenizer::GetName() const {
|
||||
|
|
|
@ -61,7 +61,7 @@ struct PyCustomOpFactory : Ort::CustomOpBase<PyCustomOpFactory, PyCustomOpKernel
|
|||
}
|
||||
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new PyCustomOpKernel(api, info, opdef_->obj_id, opdef_->attrs);
|
||||
return CreateKernelImpl(api, info, opdef_->obj_id, opdef_->attrs);
|
||||
};
|
||||
|
||||
const char* GetName() const {
|
||||
|
|
|
@ -52,9 +52,6 @@ struct KernelOne : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpOne : Ort::CustomOpBase<CustomOpOne, KernelOne> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelOne(api);
|
||||
};
|
||||
const char* GetName() const {
|
||||
return "CustomOpOne";
|
||||
};
|
||||
|
@ -98,9 +95,6 @@ struct KernelTwo : BaseKernel {
|
|||
};
|
||||
|
||||
struct CustomOpTwo : Ort::CustomOpBase<CustomOpTwo, KernelTwo> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelTwo(api);
|
||||
};
|
||||
const char* GetName() const {
|
||||
return "CustomOpTwo";
|
||||
};
|
||||
|
@ -146,8 +140,8 @@ struct KernelThree : BaseKernel {
|
|||
|
||||
struct CustomOpThree : Ort::CustomOpBase<CustomOpThree, KernelThree> {
|
||||
void* CreateKernel(const OrtApi& api, const OrtKernelInfo* info) const {
|
||||
return new KernelThree(api, info);
|
||||
};
|
||||
return CreateKernelImpl(api, info);
|
||||
};
|
||||
const char* GetName() const {
|
||||
return "CustomOpThree";
|
||||
};
|
||||
|
|
Загрузка…
Ссылка в новой задаче