Revise floor (#5618)

* create type_prop tests

* add visitors test

* fix bug in visitor test

* add RTTI macro

* fix bug in visitors test

* add newline

* update spec

* update spec

* update RTTI definition

* move RTTI definitioion to the top of he file

* Remove broadcast from attribute tests.

* Add Floor-1 to summarize.py report.

Co-authored-by: jdanieck <jozef.daniecki@intel.com>
This commit is contained in:
Piotr Szmelczynskiandjdanieck authored and GitHub committed 2021-05-21 07:55:26 +03:00
1 parent 19ba314764
commit 4b860890ed
7 files changed
+41 -14

No files matched your search

+10 -10
View File
@@ -2,31 +2,31 @@
**Versioned name**: *Floor-1*
**Category**: Arithmetic unary operation
**Category**: Arithmetic unary operation
**Short description**: *Floor* performs element-wise floor operation with given tensor.
**Attributes**:
**Detailed description**: For each element from the input tensor calculates corresponding
element in the output tensor with the following formula:
No attributes available.
\f[
a_{i} = floor(a_{i})
\f]
**Attributes**: *Floor* operation has no attributes.
**Inputs**
* **1**: An tensor of type T. **Required.**
* **1**: A tensor of type *T* and arbitrary shape. **Required.**
**Outputs**
* **1**: The result of element-wise floor operation. A tensor of type T.
* **1**: The result of element-wise floor operation. A tensor of type *T*.
**Types**
* *T*: any numeric type.
*Floor* does the following with the input tensor *a*:
\f[
a_{i} = floor(a_{i})
\f]
**Examples**
@@ -28,6 +28,7 @@ VERIFIED_OP_REFERENCES = [
'ExperimentalDetectronPriorGridGenerator-6',
'ExperimentalDetectronROIFeatureExtractor-6',
'ExperimentalDetectronTopKROIs-6',
'Floor-1'
'FloorMod-1'
'GRUSequence-5',
'Gather-1',
+1 -2
View File
@@ -16,8 +16,7 @@ namespace ngraph
class NGRAPH_API Floor : public util::UnaryElementwiseArithmetic
{
public:
static constexpr NodeTypeInfo type_info{"Floor", 0};
const NodeTypeInfo& get_type_info() const override { return type_info; }
NGRAPH_RTTI_DECLARATION;
/// \brief Constructs a floor operation.
Floor() = default;
/// \brief Constructs a floor operation.
+1 -1
View File
@@ -12,7 +12,7 @@
using namespace std;
using namespace ngraph;
constexpr NodeTypeInfo op::Floor::type_info;
NGRAPH_RTTI_DEFINITION(op::v0::Floor, "Floor", 0, util::UnaryElementwiseArithmetic);
op::Floor::Floor(const Output<Node>& arg)
: UnaryElementwiseArithmetic(arg)
+1
View File
@@ -223,6 +223,7 @@ set(SRC
visitors/op/elu.cpp
visitors/op/extractimagepatches.cpp
visitors/op/fake_quantize.cpp
visitors/op/floor.cpp
visitors/op/gather.cpp
visitors/op/gelu.cpp
visitors/op/grn.cpp
+1 -1
View File
@@ -96,6 +96,6 @@ REGISTER_TYPED_TEST_CASE_P(UnaryOperator,
dynamic_rank_input_shape_3D,
dynamic_rank_input_shape_full);
using Types = ::testing::Types<op::Acos, op::Asin, op::Abs, op::Sqrt, op::Sin, op::Exp>;
using Types = ::testing::Types<op::Acos, op::Asin, op::Abs, op::Sqrt, op::Sin, op::Exp, op::Floor>;
INSTANTIATE_TYPED_TEST_CASE_P(type_prop, UnaryOperator, Types);
+26
View File
@@ -0,0 +1,26 @@
// Copyright (C) 2018-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0
//
#include "gtest/gtest.h"
#include "ngraph/ngraph.hpp"
#include "ngraph/op/util/attr_types.hpp"
#include "ngraph/opsets/opset1.hpp"
#include "util/visitor.hpp"
using namespace std;
using namespace ngraph;
using ngraph::test::NodeBuilder;
TEST(attributes, floor_op)
{
NodeBuilder::get_ops().register_factory<opset1::Floor>();
const auto A = make_shared<op::Parameter>(element::f32, Shape{5, 2});
const auto floor = make_shared<opset1::Floor>(A);
NodeBuilder builder(floor);
const auto expected_attr_count = 0;
EXPECT_EQ(builder.get_value_map_size(), expected_attr_count);
}