diff options
author | Jim Flynn <jim.flynn@arm.com> | 2019-12-13 14:43:24 +0000 |
---|---|---|
committer | Jim Flynn Arm <jim.flynn@arm.com> | 2019-12-13 17:10:15 +0000 |
commit | 4d3a24bc3a4900db8a647881b0b3a7a6bf387751 (patch) | |
tree | 2a143095aef27ae1d3b574c7ac0c49122e163269 /Utils.cpp | |
parent | 1d042180e7af77e9a43b487631e775c3b92f3df8 (diff) | |
download | android-nn-driver-4d3a24bc3a4900db8a647881b0b3a7a6bf387751.tar.gz |
IVGCVSW-4270 Change .dot file name to start with netId
* .dot file will start with the same number as the associated input
and output tensor dump files
Change-Id: Ic64539854c2b8c34a7034fa18a142b2dfe67df7d
Signed-off-by: Jim Flynn <jim.flynn@arm.com>
Diffstat (limited to 'Utils.cpp')
-rw-r--r-- | Utils.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -343,6 +343,39 @@ void DumpJsonProfilingIfRequired(bool gpuProfilingEnabled, profiler->Print(fileStream); } +void ExportNetworkGraphToDotFile(const armnn::IOptimizedNetwork& optimizedNetwork, + const std::string& dumpDir, + const armnn::NetworkId networkId) +{ + // The dump directory must exist in advance. + if (dumpDir.empty()) + { + return; + } + + // Set the name of the output .dot file. + const std::string fileName = boost::str(boost::format("%1%/%2%_networkgraph.dot") + % dumpDir + % std::to_string(networkId)); + + ALOGV("Exporting the optimized network graph to file: %s", fileName.c_str()); + + // Write the network graph to a dot file. + std::ofstream fileStream; + fileStream.open(fileName, std::ofstream::out | std::ofstream::trunc); + + if (!fileStream.good()) + { + ALOGW("Could not open file %s for writing", fileName.c_str()); + return; + } + + if (optimizedNetwork.SerializeToDot(fileStream) != armnn::Status::Success) + { + ALOGW("An error occurred when writing to file %s", fileName.c_str()); + } +} + bool IsDynamicTensor(const armnn::TensorInfo& outputInfo) { // Dynamic tensors have at least one 0-sized dimension |