From cff26f13c5828b28904bc9612ecbb15aa992b4c2 Mon Sep 17 00:00:00 2001 From: raver119 Date: Thu, 3 Oct 2019 20:25:52 +0300 Subject: [PATCH] Revert "Implement divide_no_nan op." --- libnd4j/include/loops/legacy_ops.h | 10 ++--- libnd4j/include/ops/BroadcastOpsTuple.h | 1 - .../ops/declarable/headers/broadcastable.h | 3 -- .../include/ops/impl/BroadcastOpsTuple.cpp | 4 -- libnd4j/include/ops/ops.h | 28 -------------- .../layers_tests/DeclarableOpsTests1.cpp | 37 ------------------- 6 files changed, 4 insertions(+), 79 deletions(-) diff --git a/libnd4j/include/loops/legacy_ops.h b/libnd4j/include/loops/legacy_ops.h index b803bdb8d..c298dde3a 100644 --- a/libnd4j/include/loops/legacy_ops.h +++ b/libnd4j/include/loops/legacy_ops.h @@ -77,8 +77,7 @@ (27, LogicalOr) ,\ (28, LogicalXor) ,\ (29, LogicalNot) ,\ - (30, LogicalAnd), \ - (31, DivideNoNan) + (30, LogicalAnd) // these ops return same data type as input #define TRANSFORM_SAME_OPS \ @@ -244,8 +243,8 @@ (42, LstmClip), \ (43, TruncateMod) ,\ (44, SquaredReverseSubtract) ,\ - (45, ReversePow), \ - (46, DivideNoNan) + (45, ReversePow) + @@ -379,8 +378,7 @@ (34, AMaxPairwise), \ (35, AMinPairwise) ,\ (36, TruncateMod), \ - (37, ReplaceNans), \ - (38, DivideNoNan) + (37, ReplaceNans) diff --git a/libnd4j/include/ops/BroadcastOpsTuple.h b/libnd4j/include/ops/BroadcastOpsTuple.h index c665a0abc..0583a8e4a 100644 --- a/libnd4j/include/ops/BroadcastOpsTuple.h +++ b/libnd4j/include/ops/BroadcastOpsTuple.h @@ -46,7 +46,6 @@ namespace nd4j { static BroadcastOpsTuple Add(); static BroadcastOpsTuple Assign(); static BroadcastOpsTuple Divide(); - static BroadcastOpsTuple DivideNoNan(); static BroadcastOpsTuple Multiply(); static BroadcastOpsTuple Subtract(); }; diff --git a/libnd4j/include/ops/declarable/headers/broadcastable.h b/libnd4j/include/ops/declarable/headers/broadcastable.h index 1caf47c37..679a60254 100644 --- a/libnd4j/include/ops/declarable/headers/broadcastable.h +++ b/libnd4j/include/ops/declarable/headers/broadcastable.h @@ -156,9 +156,6 @@ namespace nd4j { DECLARE_CUSTOM_OP(divide_bp, 3, 2, false, 0, 0); #endif - #if NOT_EXCLUDED(OP_divide_no_nan) - DECLARE_BROADCASTABLE_OP(divide_no_nan, 0, 0); - #endif /** * This is one of auto-broadcastable operations. It accepts 2 operands, and operation is applied based on their shapes: * 1) if shapes are equal that's pairwise operation, result will have the same shape. diff --git a/libnd4j/include/ops/impl/BroadcastOpsTuple.cpp b/libnd4j/include/ops/impl/BroadcastOpsTuple.cpp index ca408e8dc..f42228cfb 100644 --- a/libnd4j/include/ops/impl/BroadcastOpsTuple.cpp +++ b/libnd4j/include/ops/impl/BroadcastOpsTuple.cpp @@ -37,10 +37,6 @@ namespace nd4j { return custom(nd4j::scalar::Divide, nd4j::pairwise::Divide, nd4j::broadcast::Divide); } - BroadcastOpsTuple BroadcastOpsTuple::DivideNoNan() { - return custom(nd4j::scalar::DivideNoNan, nd4j::pairwise::DivideNoNan, nd4j::broadcast::DivideNoNan); - } - BroadcastOpsTuple BroadcastOpsTuple::Multiply() { return custom(nd4j::scalar::Multiply, nd4j::pairwise::Multiply, nd4j::broadcast::Multiply); } diff --git a/libnd4j/include/ops/ops.h b/libnd4j/include/ops/ops.h index 18bef9172..a80e274ca 100644 --- a/libnd4j/include/ops/ops.h +++ b/libnd4j/include/ops/ops.h @@ -360,34 +360,6 @@ namespace simdOps { } }; - template - class DivideNoNan { - public: - op_def static Z op(X d1, Y d2) { - if (d2 == (Y)0) return (Z)0; - return static_cast(d1 / d2); - } - - op_def static Z op(X d1, Y d2, Z *params) { - if (d2 == (Y)0) return (Z)0; - return static_cast(d1 / d2); - } - - op_def static Z op(X d1) { - return static_cast(d1); - } - - // op for MetaOps - op_def static Z op(X d1, Y *params) { - if (params[0] == (Y)0) return (Z)0; - return static_cast(d1 / params[0]); - } - - op_def static X startingValue() { - return static_cast(1); - } - }; - template class SafeDivide { public: diff --git a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp index d9afd3529..d0c597cc5 100644 --- a/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp +++ b/libnd4j/tests_cpu/layers_tests/DeclarableOpsTests1.cpp @@ -1194,43 +1194,6 @@ TEST_F(DeclarableOpsTests1, BroadcastDivideTest_1) { delete res; } -////////////////////////////////////////////////////////////////////// -TEST_F(DeclarableOpsTests1, BroadcastDivideTest_2) { - - auto x = NDArrayFactory::create('c', {3, 4, 5, 1}); - auto y = NDArrayFactory::create('c', {1, 6}); - auto exp = NDArrayFactory::create('c', {3, 4, 5, 6}); - x.assign(6); - y.assign(2); - exp.assign(3); - - nd4j::ops::divide_no_nan div; - - auto res = div.execute({&x, &y}, {}, {}); - - ASSERT_EQ(res->status(), ND4J_STATUS_OK); - ASSERT_TRUE(res->at(0)->equalsTo(exp)); - - delete res; -} - -////////////////////////////////////////////////////////////////////// -TEST_F(DeclarableOpsTests1, BroadcastDivideTest_3) { - - auto x = NDArrayFactory::create({6,6,6,6,6}); - auto y = NDArrayFactory::create({3,3,0,3,3}); - auto exp = NDArrayFactory::create({2, 2, 0, 2, 2}); - - nd4j::ops::divide_no_nan div; - - auto res = div.execute({&x, &y}, {}, {}); - - ASSERT_EQ(res->status(), ND4J_STATUS_OK); - ASSERT_TRUE(res->at(0)->equalsTo(exp)); - - delete res; -} - ////////////////////////////////////////////////////////////////////// TEST_F(DeclarableOpsTests1, BroadcastReverseDivideTest_1) {