Enable HSwish - ngraph op, fusion/decomposition and reference implementation (#1770)
authorKatarzyna Mitrus <katarzyna.mitrus@intel.com>
Wed, 19 Aug 2020 05:04:00 +0000 (07:04 +0200)
committerGitHub <noreply@github.com>
Wed, 19 Aug 2020 05:04:00 +0000 (08:04 +0300)
commitceb8a25c948722febb7ebd9af338f97fe65814dd
tree0115ea0fe8e07a928722fe7fe88c1fbff1ae4afc
parent6b04eca3c261127f9a7e1d1530d0d8aab8eb6e11
Enable HSwish - ngraph op, fusion/decomposition and reference implementation (#1770)

* Add HSwish operator to nGraph

* Add HSwishFusion transformation

* Update check_constant function

* Add reference implementation for HSwish

* Enable reference implemenation in HSwish evaluate

* Add op_eval test

* HSwish fusion transformation test

* Add HSwishFusionWithoutRelu transformation

* Add more hswish fusion tests

* Register HSwishFusion pass in common_optimizations

* Update HSwish reference implementation

* Add HSwishFusion with Relu and Multiply

* Add HSwishDecomposition transformation pass

* Add HSwishDecomposition test

* Add HSwish op to ngraph python API

* Update HSwish fusion transformations

* Remove HSwishFusion from common optimizations

* Update hswish python API

* Add bf16 to evaluate hswish

* Update hswish python API

* Move hswish reference implementation

* UnaryElementwiseArithmetic inheritance

* Enable HSwish callback for clDNN

* Register HSwishDecomposition pass in ConvertOpSet1ToLegacy

* Enable HSwishFusion pass in common optimizations

* Use NGRAPH_RTTI_DECLARATION

* Moved python hswish test to the test_ops_unary
21 files changed:
inference-engine/src/cldnn_engine/cldnn_engine.cpp
inference-engine/src/transformations/include/transformations/hswish_decomposition.hpp [new file with mode: 0644]
inference-engine/src/transformations/include/transformations/hswish_fusion.hpp [new file with mode: 0644]
inference-engine/src/transformations/src/transformations/common_optimizations/common_optimizations.cpp
inference-engine/src/transformations/src/transformations/convert_opset1_to_legacy/convert_opset1_to_legacy.cpp
inference-engine/src/transformations/src/transformations/hswish_decomposition.cpp [new file with mode: 0644]
inference-engine/src/transformations/src/transformations/hswish_fusion.cpp [new file with mode: 0644]
inference-engine/tests/functional/inference_engine/transformations/hswish_decomposition_test.cpp [new file with mode: 0644]
inference-engine/tests/functional/inference_engine/transformations/hswish_fusion_test.cpp [new file with mode: 0644]
ngraph/core/include/ngraph/op/hswish.hpp [new file with mode: 0644]
ngraph/core/include/ngraph/ops.hpp
ngraph/core/include/ngraph/opsets/opset4_tbl.hpp
ngraph/core/reference/include/ngraph/runtime/reference/hswish.hpp [new file with mode: 0644]
ngraph/core/src/op/hswish.cpp [new file with mode: 0644]
ngraph/python/src/ngraph/__init__.py
ngraph/python/src/ngraph/opset4/__init__.py
ngraph/python/src/ngraph/opset4/ops.py
ngraph/python/tests/test_ngraph/test_ops_unary.py
ngraph/test/CMakeLists.txt
ngraph/test/op_eval/hswish.cpp [new file with mode: 0644]
ngraph/test/type_prop/hswish.cpp [new file with mode: 0644]