add op adaptor

fix compile
This commit is contained in:
looop5 2022-11-24 21:04:12 +08:00
parent afbae413e8
commit 5ce653776b
9 changed files with 183 additions and 0 deletions

View File

@ -401,6 +401,8 @@ constexpr const char kNameIndexAdd[] = "IndexAdd";
constexpr const char kNameUnique[] = "Unique";
constexpr const char kNameDynamicBroadcastGradientArgs[] = "DynamicBroadcastGradientArgs";
constexpr const char kNameDynamicStitch[] = "DynamicStitch";
constexpr const char kNameThreshold[] = "Threshold";
constexpr const char kNameCosineSimilarity[] = "CosineSimilarity";
class OpAdapterDesc;

View File

@ -686,4 +686,50 @@ INPUT_MAP(Erfinv) = {{1, INPUT_DESC(input_x)}};
ATTR_MAP(Erfinv) = EMPTY_ATTR_MAP;
OUTPUT_MAP(Erfinv) = {{0, OUTPUT_DESC(output_y)}};
REG_ADPT_DESC(Erfinv, prim::kPrimErfinv->name(), ADPT_DESC(Erfinv))
// ArgMin
INPUT_MAP(ArgMin) = {{1, INPUT_DESC(x)}, {2, INPUT_DESC(dimension)}};
ATTR_INPUT_MAP(ArgMin) = {{"axis", 2}};
ATTR_MAP(ArgMin) = {{"output_dtype", ATTR_DESC(dtype, AnyTraits<GEType>())}};
OUTPUT_MAP(ArgMin) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(ArgMin, kArgMinDOpName, ADPT_DESC(ArgMin))
// Threshold
INPUT_MAP(Threshold) = {{1, INPUT_DESC(x)}};
ATTR_MAP(Threshold) = {{"threshold", ATTR_DESC(threshold, AnyTraits<float>())}};
OUTPUT_MAP(Threshold) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(Threshold, kNameThreshold, ADPT_DESC(Threshold))
// Addcdiv
INPUT_MAP(Addcdiv) = {{1, INPUT_DESC(input_data)}, {2, INPUT_DESC(x1)}, {3, INPUT_DESC(x2)}, {4, INPUT_DESC(value)}};
ATTR_MAP(Addcdiv) = EMPTY_ATTR_MAP;
OUTPUT_MAP(Addcdiv) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(Addcdiv, prim::kAddcdiv, ADPT_DESC(Addcdiv))
// Addcmul
INPUT_MAP(Addcmul) = {{1, INPUT_DESC(input_data)}, {2, INPUT_DESC(x1)}, {3, INPUT_DESC(x2)}, {4, INPUT_DESC(value)}};
ATTR_MAP(Addcmul) = EMPTY_ATTR_MAP;
OUTPUT_MAP(Addcmul) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(Addcmul, prim::kAddcmul, ADPT_DESC(Addcmul))
// Lerp
INPUT_MAP(Lerp) = {{1, INPUT_DESC(start)}, {2, INPUT_DESC(end)}, {3, INPUT_DESC(weight)}};
ATTR_MAP(Lerp) = EMPTY_ATTR_MAP;
OUTPUT_MAP(Lerp) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(Lerp, prim::kPrimLerp->name(), ADPT_DESC(Lerp))
// IsClose
INPUT_MAP(IsClose) = {{1, INPUT_DESC(x1)}, {2, INPUT_DESC(x2)}};
ATTR_MAP(IsClose) = {{"rtol", ATTR_DESC(rtol, AnyTraits<float>())},
{"atol", ATTR_DESC(atol, AnyTraits<float>())},
{"equal_nan", ATTR_DESC(equal_nan, AnyTraits<bool>())}};
OUTPUT_MAP(IsClose) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(IsClose, prim::kPrimIsClose->name(), ADPT_DESC(IsClose))
// CosineSimilarity
INPUT_MAP(CosineSimilarity) = {{1, INPUT_DESC(input_x1)}, {2, INPUT_DESC(input_x2)}};
ATTR_MAP(CosineSimilarity) = {{"dim", ATTR_DESC(dim, AnyTraits<int64_t>())},
{"eps", ATTR_DESC(eps, AnyTraits<float>())}};
OUTPUT_MAP(CosineSimilarity) = {{0, OUTPUT_DESC(output_y)}};
REG_ADPT_DESC(CosineSimilarity, kNameCosineSimilarity, ADPT_DESC(CosineSimilarity))
} // namespace mindspore::transform

View File

@ -336,5 +336,26 @@ DECLARE_OP_USE_OUTPUT(KLDiv)
DECLARE_OP_ADAPTER(Erfinv)
DECLARE_OP_USE_OUTPUT(Erfinv)
DECLARE_OP_ADAPTER(ArgMin)
DECLARE_OP_USE_OUTPUT(ArgMin)
DECLARE_OP_ADAPTER(Threshold)
DECLARE_OP_USE_OUTPUT(Threshold)
DECLARE_OP_ADAPTER(Addcdiv)
DECLARE_OP_USE_OUTPUT(Addcdiv)
DECLARE_OP_ADAPTER(Addcmul)
DECLARE_OP_USE_OUTPUT(Addcmul)
DECLARE_OP_ADAPTER(Lerp)
DECLARE_OP_USE_OUTPUT(Lerp)
DECLARE_OP_ADAPTER(IsClose)
DECLARE_OP_USE_OUTPUT(IsClose)
DECLARE_OP_ADAPTER(CosineSimilarity)
DECLARE_OP_USE_OUTPUT(CosineSimilarity)
} // namespace mindspore::transform
#endif // MINDSPORE_CCSRC_TRANSFORM_GRAPH_IR_OP_DECLARE_ELEWISE_CALCULATION_OPS_DECLARE_H_

View File

@ -69,4 +69,44 @@ ATTR_MAP(DecodeImage) = {{"channels", ATTR_DESC(channels, AnyTraits<int64_t>())}
{"expand_animations", ATTR_DESC(expand_animations, AnyTraits<bool>())}};
OUTPUT_MAP(DecodeImage) = {{0, OUTPUT_DESC(image)}};
REG_ADPT_DESC(DecodeImage, kNameDecodeImage, ADPT_DESC(DecodeImage))
// SyncResizeBilinearV2Grad
INPUT_MAP(SyncResizeBilinearV2Grad) = {{1, INPUT_DESC(grads)}, {2, INPUT_DESC(original_image)}};
ATTR_MAP(SyncResizeBilinearV2Grad) = {{"size", ATTR_DESC(size, AnyTraits<std::vector<int64_t>>())},
{"ori_image_size", ATTR_DESC(ori_image_size, AnyTraits<std::vector<int64_t>>())},
{"src_start_w", ATTR_DESC(src_start_w, AnyTraits<int64_t>())},
{"dst_start_w", ATTR_DESC(dst_start_w, AnyTraits<int64_t>())},
{"align_corners", ATTR_DESC(align_corners, AnyTraits<bool>())},
{"half_pixel_centers", ATTR_DESC(half_pixel_centers, AnyTraits<bool>())}};
OUTPUT_MAP(SyncResizeBilinearV2Grad) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(SyncResizeBilinearV2Grad, prim::kPrimParallelResizeBilinearGrad->name(),
ADPT_DESC(SyncResizeBilinearV2Grad))
// SyncResizeBilinearV2
INPUT_MAP(SyncResizeBilinearV2) = {{1, INPUT_DESC(x)}, {2, INPUT_DESC(size)}};
ATTR_MAP(SyncResizeBilinearV2) = {{"ori_image_size", ATTR_DESC(ori_image_size, AnyTraits<std::vector<int64_t>>())},
{"split_size", ATTR_DESC(split_size, AnyTraits<std::vector<int64_t>>())},
{"src_start_w", ATTR_DESC(src_start_w, AnyTraits<int64_t>())},
{"dst_start_w", ATTR_DESC(dst_start_w, AnyTraits<int64_t>())},
{"align_corners", ATTR_DESC(align_corners, AnyTraits<bool>())},
{"half_pixel_centers", ATTR_DESC(half_pixel_centers, AnyTraits<bool>())}};
OUTPUT_MAP(SyncResizeBilinearV2) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(SyncResizeBilinearV2, prim::kPrimParallelResizeBilinear->name(), ADPT_DESC(SyncResizeBilinearV2))
// RGBToHSV
INPUT_MAP(RGBToHSV) = {{1, INPUT_DESC(images)}};
ATTR_MAP(RGBToHSV) = EMPTY_ATTR_MAP;
OUTPUT_MAP(RGBToHSV) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(RGBToHSV, prim::kPrimRGBToHSV->name(), ADPT_DESC(RGBToHSV))
// NonMaxSuppressionWithOverlaps
INPUT_MAP(NonMaxSuppressionWithOverlaps) = {{1, INPUT_DESC(overlaps)},
{2, INPUT_DESC(scores)},
{3, INPUT_DESC(max_output_size)},
{4, INPUT_DESC(overlap_threshold)},
{5, INPUT_DESC(score_threshold)}};
ATTR_MAP(NonMaxSuppressionWithOverlaps) = EMPTY_ATTR_MAP;
OUTPUT_MAP(NonMaxSuppressionWithOverlaps) = {{0, OUTPUT_DESC(selected_indices)}};
REG_ADPT_DESC(NonMaxSuppressionWithOverlaps, prim::kPrimNonMaxSuppressionWithOverlaps->name(),
ADPT_DESC(NonMaxSuppressionWithOverlaps))
} // namespace mindspore::transform

View File

@ -42,5 +42,17 @@ DECLARE_OP_USE_OUTPUT(CropAndResize)
DECLARE_OP_ADAPTER(DecodeImage)
DECLARE_OP_USE_OUTPUT(DecodeImage)
DECLARE_OP_ADAPTER(SyncResizeBilinearV2Grad)
DECLARE_OP_USE_OUTPUT(SyncResizeBilinearV2Grad)
DECLARE_OP_ADAPTER(SyncResizeBilinearV2)
DECLARE_OP_USE_OUTPUT(SyncResizeBilinearV2)
DECLARE_OP_ADAPTER(RGBToHSV)
DECLARE_OP_USE_OUTPUT(RGBToHSV)
DECLARE_OP_ADAPTER(NonMaxSuppressionWithOverlaps)
DECLARE_OP_USE_OUTPUT(NonMaxSuppressionWithOverlaps)
} // namespace mindspore::transform
#endif // MINDSPORE_CCSRC_TRANSFORM_GRAPH_IR_OP_DECLARE_IMAGE_OPS_DECLARE_H_

View File

@ -0,0 +1,25 @@
/**
* Copyright 2022 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "transform/graph_ir/op_declare/linalg_ops_declare.h"
namespace mindspore::transform {
// Ger
INPUT_MAP(Ger) = {{1, INPUT_DESC(x1)}, {2, INPUT_DESC(x2)}};
ATTR_MAP(Ger) = EMPTY_ATTR_MAP;
OUTPUT_MAP(Ger) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(Ger, prim::kGer, ADPT_DESC(Ger))
} // namespace mindspore::transform

View File

@ -0,0 +1,28 @@
/**
* Copyright 2022 Huawei Technologies Co., Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef MINDSPORE_CCSRC_TRANSFORM_GRAPH_IR_OP_DECLARE_LINALG_OPS_DECLARE_H_
#define MINDSPORE_CCSRC_TRANSFORM_GRAPH_IR_OP_DECLARE_LINALG_OPS_DECLARE_H_
#include "utils/hash_map.h"
#include "transform/graph_ir/op_declare/op_declare_macro.h"
#include "ops/linalg_ops.h"
namespace mindspore::transform {
DECLARE_OP_ADAPTER(Ger)
DECLARE_OP_USE_OUTPUT(Ger)
} // namespace mindspore::transform
#endif // MINDSPORE_CCSRC_TRANSFORM_GRAPH_IR_OP_DECLARE_LINALG_OPS_DECLARE_H_

View File

@ -122,4 +122,10 @@ ATTR_MAP(LpNorm) = {{"p", ATTR_DESC(p, AnyTraits<int64_t>())},
{"epsilon", ATTR_DESC(epsilon, AnyTraits<float>())}};
OUTPUT_MAP(LpNorm) = {{0, OUTPUT_DESC(y)}};
REG_ADPT_DESC(LpNorm, prim::kPrimLpNorm->name(), ADPT_DESC(LpNorm))
// Trunc
INPUT_MAP(Trunc) = {{1, INPUT_DESC(input_x)}};
ATTR_MAP(Trunc) = EMPTY_ATTR_MAP;
OUTPUT_MAP(Trunc) = {{0, OUTPUT_DESC(output_y)}};
REG_ADPT_DESC(Trunc, prim::kPrimTrunc->name(), ADPT_DESC(Trunc))
} // namespace mindspore::transform

View File

@ -63,5 +63,8 @@ DECLARE_OP_USE_OUTPUT(IsNan)
DECLARE_OP_ADAPTER(LpNorm)
DECLARE_OP_USE_OUTPUT(LpNorm)
DECLARE_OP_ADAPTER(Trunc)
DECLARE_OP_USE_OUTPUT(Trunc)
} // namespace mindspore::transform
#endif // MINDSPORE_CCSRC_TRANSFORM_GRAPH_IR_OP_DECLARE_MATH_OPS_DECLARE_H_