commfunc.h 1.7 KB
Newer Older
SWHL's avatar
SWHL committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#pragma once 

inline int getInputName(Ort::Session* session, string& inputName,int nIndex=0) {
    size_t numInputNodes = session->GetInputCount();
    if (nIndex == -1)
        return numInputNodes;
    if (numInputNodes > nIndex) {
        Ort::AllocatorWithDefaultOptions allocator;
        {
            char* t = session->GetInputName(nIndex, allocator);
            inputName = t;
            allocator.Free(t);
        }
    }
}

inline int getInputNameAll(Ort::Session* session, vector<string>&InputNames)
{
    size_t numInputNodes = session->GetInputCount();
   for(int i=0; i< numInputNodes; i++)
   {
        Ort::AllocatorWithDefaultOptions allocator;
        {
            char* t = session->GetInputName(i, allocator);
            InputNames.push_back( t);
            allocator.Free(t);
        }
   }

   return numInputNodes;

}


inline int  getOutputName(Ort::Session* session, string& outputName, int nIndex = 0) {
    size_t numOutputNodes = session->GetOutputCount();

    if (nIndex == -1)
        return numOutputNodes;
    if (numOutputNodes > nIndex) {
        Ort::AllocatorWithDefaultOptions allocator;
        {
            char* t = session->GetOutputName(nIndex, allocator);
            outputName = t;
            allocator.Free(t);
        }
    }

    return numOutputNodes;
}


inline int getOutputNameAll(Ort::Session* session, vector<string>& OutputNames) {
    size_t numOutputNodes = session->GetOutputCount();

    for (int i = 0; i < numOutputNodes; i++)
    {
        Ort::AllocatorWithDefaultOptions allocator;
        {
            char* t = session->GetOutputName(i, allocator);
            OutputNames.push_back(t);
            allocator.Free(t);
        }
    }
    return numOutputNodes;
}