diff options
author | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-04 18:09:24 +0900 |
---|---|---|
committer | Chunseok Lee <chunseok.lee@samsung.com> | 2020-03-04 18:09:24 +0900 |
commit | 302e6564a7a76109e1178207e44e45a58631c477 (patch) | |
tree | 6cc4bd95e5e438331fc2c53234af4ed0e0f3bc20 /runtimes/neurun/src/dumper/dot/DotDumper.cc | |
parent | bd11b24234d7d43dfe05a81c520aa01ffad06e42 (diff) | |
download | nnfw-302e6564a7a76109e1178207e44e45a58631c477.tar.gz nnfw-302e6564a7a76109e1178207e44e45a58631c477.tar.bz2 nnfw-302e6564a7a76109e1178207e44e45a58631c477.zip |
Imported Upstream version 1.1.0upstream/1.1.0submit/tizen/20200304.094649submit/tizen/20200304.093946submit/tizen/20200304.092919accepted/tizen/unified/20200305.051107
Diffstat (limited to 'runtimes/neurun/src/dumper/dot/DotDumper.cc')
-rw-r--r-- | runtimes/neurun/src/dumper/dot/DotDumper.cc | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/runtimes/neurun/src/dumper/dot/DotDumper.cc b/runtimes/neurun/src/dumper/dot/DotDumper.cc deleted file mode 100644 index 1e53ece19..000000000 --- a/runtimes/neurun/src/dumper/dot/DotDumper.cc +++ /dev/null @@ -1,115 +0,0 @@ -/* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. All Rights Reserved - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <fstream> - -#include "DotDumper.h" -#include "DotBuilder.h" - -namespace neurun -{ -namespace dumper -{ -namespace dot -{ - -using namespace neurun::graph; - -void DotDumper::dumpIfNeeded(const std::string &tag) -{ - if (_option == OPTIONS::DUMP_OFF) - { - return; - } - neurun::dumper::dot::DotBuilder dot_builder; - - auto &operations = _graph.operations(); - auto &operands = _graph.operands(); - - operations.iterate([&](const model::operation::Index &index, const model::operation::Node &node) { - neurun::dumper::dot::DotNodeInfo node_info(_graph, index, node); - - for (auto output : node.getOutputs()) - { - using neurun::dumper::dot::DotOperandInfo; - auto child = std::make_shared<DotOperandInfo>(output, operands.at(output), - DotOperandInfo::Type::MODEL_OUTPUT); - node_info.appendChild(child); - } - - dot_builder.update(node_info); - }); - - operands.iterate([&](const model::operand::Index &index, const model::operand::Object &object) { - bool showing_cond = false; - auto usage = object.getUsage(); - if (_option == OPTIONS::SHOW_CONSTANTS) - { - showing_cond = object.usageIsDefined(); - } - else - { - showing_cond = (usage == model::operand::OperandUsage::MODEL_INPUT) || - (usage == model::operand::OperandUsage::OPERATION_OUTPUT); - } - if (usage != model::operand::OperandUsage::OPERATION_OUTPUT) - { - showing_cond = showing_cond && (object.getUses().size() > 0); - } - if (showing_cond) - { - auto type = [&]() { - using neurun::dumper::dot::DotOperandInfo; - if (_graph.getInputs().contains(index)) - return DotOperandInfo::Type::MODEL_INPUT; - if (_graph.getOutputs().contains(index)) - return DotOperandInfo::Type::MODEL_OUTPUT; - return DotOperandInfo::Type::INTERNAL; - }(); - - neurun::dumper::dot::DotOperandInfo operand_info(index, object, type); - - for (auto operation_index : object.getUses().list()) - { - auto &node = operations.at(operation_index); - auto child = - std::make_shared<neurun::dumper::dot::DotNodeInfo>(_graph, operation_index, node); - operand_info.appendChild(child); - } - - dot_builder.update(operand_info); - } - }); - - // Dump to file - { - std::string file_name; - file_name += tag; - file_name += ".dot"; - std::filebuf fb; - - fb.open(file_name, std::ios::out); - std::ostream os(&fb); - - dot_builder.writeDot(os); - - fb.close(); - } -} - -} // namespace dot -} // namespace dumper -} // namespace neurun |