13 #include <graph_status.h>
14 #include <model_runner.h>
22 const std::vector<TensorInfo>& infos,
32 std::vector<const TensorInfo*> inputInfos;
33 std::vector<const TensorInfo*> outputInfos;
44 inputInfos.push_back(&infos[0]);
45 inputInfos.push_back(&infos[1]);
46 outputInfos.push_back(&infos[2]);
49 for (
unsigned int i = 0; i < infos.size() - 1; ++i)
51 inputInfos.push_back(&infos[i]);
53 outputInfos.push_back(&infos.back());
56 outputInfos.push_back(&infos[0]);
60 inputInfos.push_back(&infos[0]);
61 outputInfos.push_back(&infos[1]);
62 inputInfos.push_back(&infos[2]);
64 auto conv2dDesc = PolymorphicDowncast<const Convolution2dDescriptor*>(&
descriptor);
65 if(conv2dDesc->m_BiasEnabled)
67 inputInfos.push_back(&infos[3]);
76 inputInfos.push_back(&infos[0]);
77 outputInfos.push_back(&infos[1]);
81 inputInfos.push_back(&infos[0]);
82 outputInfos.push_back(&infos[1]);
83 inputInfos.push_back(&infos[2]);
85 auto conv2dDesc = PolymorphicDowncast<const TransposeConvolution2dDescriptor*>(&
descriptor);
86 if(conv2dDesc->m_BiasEnabled)
88 inputInfos.push_back(&infos[3]);
98 if (mappings->GetName() ==
"")
104 TosaSerializationHandler handler;
107 auto* block =
new TosaSerializationBasicBlock(
"main",
108 mappings->GetOperators(),
109 mappings->GetTensors(),
110 mappings->GetInputs(),
111 mappings->GetOutputs());
112 handler.GetBlocks().emplace_back(block);
115 TosaReference::IModelRunner runner;
117 #if !defined(TOSA_REFERENCE_MODEL_OUTPUT)
120 func_debug_t funcDebug;
122 FILE* file = fopen(
"/dev/null",
"w");
123 funcDebug.func_debug_file = (file ==
nullptr) ? stderr : file;
125 runner.setFuncDebug(funcDebug);
129 status = runner.initialize(handler);
131 #if !defined(TOSA_REFERENCE_MODEL_OUTPUT)
133 funcDebug.func_debug_file = stderr;
134 runner.setFuncDebug(funcDebug);
137 if(status == GraphStatus::TOSA_ERROR || status == GraphStatus::TOSA_UNPREDICTABLE)