From 1480dcf5d571c4920b4f18717d580646794b8d28 Mon Sep 17 00:00:00 2001
From: 雾聪 <wucong.lyb@alibaba-inc.com>
Date: 星期四, 10 十月 2024 17:45:45 +0800
Subject: [PATCH] add GetInputNames GetOutputNames
---
runtime/onnxruntime/src/commonfunc.h | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
diff --git a/runtime/onnxruntime/src/commonfunc.h b/runtime/onnxruntime/src/commonfunc.h
index 3449ebc..6fd553f 100644
--- a/runtime/onnxruntime/src/commonfunc.h
+++ b/runtime/onnxruntime/src/commonfunc.h
@@ -65,6 +65,19 @@
}
}
+inline void GetInputNames(Ort::Session* session, std::vector<std::string> &m_strInputNames,
+ std::vector<const char *> &m_szInputNames) {
+ Ort::AllocatorWithDefaultOptions allocator;
+ size_t numNodes = session->GetInputCount();
+ m_strInputNames.resize(numNodes);
+ m_szInputNames.resize(numNodes);
+ for (size_t i = 0; i != numNodes; ++i) {
+ auto t = session->GetInputNameAllocated(i, allocator);
+ m_strInputNames[i] = t.get();
+ m_szInputNames[i] = m_strInputNames[i].c_str();
+ }
+}
+
inline void GetOutputName(Ort::Session* session, string& outputName, int nIndex = 0) {
size_t numOutputNodes = session->GetOutputCount();
if (numOutputNodes > 0) {
@@ -76,6 +89,19 @@
}
}
+inline void GetOutputNames(Ort::Session* session, std::vector<std::string> &m_strOutputNames,
+ std::vector<const char *> &m_szOutputNames) {
+ Ort::AllocatorWithDefaultOptions allocator;
+ size_t numNodes = session->GetOutputCount();
+ m_strOutputNames.resize(numNodes);
+ m_szOutputNames.resize(numNodes);
+ for (size_t i = 0; i != numNodes; ++i) {
+ auto t = session->GetOutputNameAllocated(i, allocator);
+ m_strOutputNames[i] = t.get();
+ m_szOutputNames[i] = m_strOutputNames[i].c_str();
+ }
+}
+
template <class ForwardIterator>
inline static size_t Argmax(ForwardIterator first, ForwardIterator last) {
return std::distance(first, std::max_element(first, last));
--
Gitblit v1.9.1