已合并
feat: 新增16个算子的TensorFlow插件注册 #9643
Nice try创建于 27 天前
feat: 新增16个算子的TensorFlow插件注册 #9643
已合并
Nice try创建于 27 天前
共 16 个文件变更+369-0
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file prelu_grad_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("PReluGrad")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("PReluGrad")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file centralization_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("Centralization")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("Centralization")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file dynamic_augru_grad_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("DynamicAUGRUGrad")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("DynamicAUGRUGrad")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file dynamic_augru_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("DynamicAUGRU")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("DynamicAUGRU")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file dynamic_gruv2_grad_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("DynamicGRUV2Grad")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("DynamicGruV2Grad")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file dynamic_gruv2_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("DynamicGRUV2")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("DynamicGruV2")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file dynamic_rnn_grad_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("DynamicRNNGrad")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("DynamicRnnGrad")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file lrn_grad_tf_plugin.cpp
13+ * \brief tensorflow plugin for lrn_grad
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("LRNGrad")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("LRNGrad")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file lrn_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("LRN")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("LRN")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,24 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file lru_cache_v2_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+// register LRUCacheV2 op to GE
19+REGISTER_CUSTOM_OP("LRUCacheV2")
20+ .FrameworkType(TENSORFLOW)
21+ .OriginOpType("LRUCacheV2")
22+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
23+ .ImplyType(ImplyType::TVM);
24+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file max_pool_grad_grad_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("MaxPoolGradGrad")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("MaxPoolGradGrad")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file bn_infer_grad_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("BNInferGrad")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("BNInferGrad")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+}
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file max_pool_grad_grad_with_argmax_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("MaxPoolGradGradWithArgmax")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("MaxPoolGradGradWithArgmax")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file max_pool_v2_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("MaxPoolV2")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("MaxPoolV2")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file max_pool_v3_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("MaxPool")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("MaxPool")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi
@@ -0,0 +1,23 @@
1+/**
2+ * Copyright (c) 2026 Huawei Technologies Co., Ltd.
3+ * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
4+ * CANN Open Software License Agreement Version 2.0 (the "License").
5+ * Please refer to the License for details. You may not use this file except in compliance with the License.
6+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
7+ * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
8+ * See LICENSE in the root of the software repository for the full text of the License.
9+ */
10+ 
11+/*!
12+ * \file dequantize_tf_plugin.cpp
13+ * \brief
14+ */
15+#include "register/register.h"
16+ 
17+namespace domi {
18+REGISTER_CUSTOM_OP("Dequantize")
19+ .FrameworkType(TENSORFLOW)
20+ .OriginOpType("Dequantize")
21+ .ParseParamsByOperatorFn(AutoMappingByOpFn)
22+ .ImplyType(ImplyType::TVM);
23+} // namespace domi