diff options
author | Giorgio Arena <giorgio.arena@arm.com> | 2020-01-03 15:02:04 +0000 |
---|---|---|
committer | Michele Di Giorgio <michele.digiorgio@arm.com> | 2020-01-16 10:19:25 +0000 |
commit | 6e9d0e048b48712f4f72d4b0a5b94a277391a357 (patch) | |
tree | 5a2d181062a5ed7d61f8d3621b34022f03e45dd8 /arm_compute/graph/nodes | |
parent | 8c837ca85c06c53ccca20937be9dfd74d00d597a (diff) | |
download | ComputeLibrary-6e9d0e048b48712f4f72d4b0a5b94a277391a357.tar.gz |
COMPMID-2856 Add PrintLayer at graph level
Signed-off-by: Giorgio Arena <giorgio.arena@arm.com>
Change-Id: I8f02bb67adae8cc7d884f2417cc9c408985f0d5a
Reviewed-on: https://review.mlplatform.org/c/2546
Reviewed-by: Manuel Bottini <manuel.bottini@arm.com>
Reviewed-by: Michele Di Giorgio <michele.digiorgio@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Georgios Pinitas <georgios.pinitas@arm.com>
Diffstat (limited to 'arm_compute/graph/nodes')
-rw-r--r-- | arm_compute/graph/nodes/Nodes.h | 3 | ||||
-rw-r--r-- | arm_compute/graph/nodes/NodesFwd.h | 3 | ||||
-rw-r--r-- | arm_compute/graph/nodes/PrintLayerNode.h | 79 |
3 files changed, 83 insertions, 2 deletions
diff --git a/arm_compute/graph/nodes/Nodes.h b/arm_compute/graph/nodes/Nodes.h index 830e8fad85..37cc9e46bd 100644 --- a/arm_compute/graph/nodes/Nodes.h +++ b/arm_compute/graph/nodes/Nodes.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -50,6 +50,7 @@ #include "arm_compute/graph/nodes/PadLayerNode.h" #include "arm_compute/graph/nodes/PermuteLayerNode.h" #include "arm_compute/graph/nodes/PoolingLayerNode.h" +#include "arm_compute/graph/nodes/PrintLayerNode.h" #include "arm_compute/graph/nodes/PriorBoxLayerNode.h" #include "arm_compute/graph/nodes/QuantizationLayerNode.h" #include "arm_compute/graph/nodes/ROIAlignLayerNode.h" diff --git a/arm_compute/graph/nodes/NodesFwd.h b/arm_compute/graph/nodes/NodesFwd.h index f41523be10..0fe86b0970 100644 --- a/arm_compute/graph/nodes/NodesFwd.h +++ b/arm_compute/graph/nodes/NodesFwd.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2018-2019 ARM Limited. + * Copyright (c) 2018-2020 ARM Limited. * * SPDX-License-Identifier: MIT * @@ -56,6 +56,7 @@ class OutputNode; class PadLayerNode; class PermuteLayerNode; class PoolingLayerNode; +class PrintLayerNode; class PriorBoxLayerNode; class QuantizationLayerNode; class ReorgLayerNode; diff --git a/arm_compute/graph/nodes/PrintLayerNode.h b/arm_compute/graph/nodes/PrintLayerNode.h new file mode 100644 index 0000000000..78b7bf212c --- /dev/null +++ b/arm_compute/graph/nodes/PrintLayerNode.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2020 ARM Limited. + * + * SPDX-License-Identifier: MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ +#ifndef ARM_COMPUTE_GRAPH_PRINT_LAYER_NODE_H +#define ARM_COMPUTE_GRAPH_PRINT_LAYER_NODE_H + +#include "arm_compute/graph/INode.h" + +namespace arm_compute +{ +// Forward declarations +class ITensor; + +namespace graph +{ +/** Print Layer node */ +class PrintLayerNode final : public INode +{ +public: + /** Constructor + * + * @param[in] stream Output stream. + * @param[in] format_info (Optional) Format info. + * @param[in] transform (Optional) Input transform function. + */ + PrintLayerNode(std::ostream &stream, const IOFormatInfo &format_info = IOFormatInfo(), const std::function<ITensor *(ITensor *)> transform = nullptr); + + /** Stream metadata accessor + * + * @return Print Layer stream + */ + std::ostream &stream() const; + + /** Formatting metadata accessor + * + * @return Print Layer format info + */ + const IOFormatInfo format_info() const; + + /** Transform function metadata accessor + * + * @return Print Layer transform function + */ + const std::function<ITensor *(ITensor *)> transform() const; + + // Inherited overridden methods: + NodeType type() const override; + bool forward_descriptors() override; + TensorDescriptor configure_output(size_t idx) const override; + void accept(INodeVisitor &v) override; + +private: + std::ostream &_stream; + const IOFormatInfo _format_info; + const std::function<ITensor *(ITensor *)> _transform; +}; +} // namespace graph +} // namespace arm_compute +#endif /* ARM_COMPUTE_GRAPH_PRINT_LAYER_NODE_H */ |