49 std::vector<std::shared_ptr<tc::InferInput> > inputs_;
50 inputs_.reserve(inputData.size());
52 for (
auto& [inputName, inputInfo]: inputData) {
53 const std::vector<int64_t>& inputShape = inputInfo.first;
54 const auto& variant = inputInfo.second;
56 const auto status = std::visit([&](
const auto& dataVec) {
57 using T = std::decay_t<
decltype(dataVec[0])>;
61 if (status != StatusCode::SUCCESS)
return status;
65 std::vector<tc::InferInput*> rawInputs;
66 for (
auto& input: inputs_) {
67 rawInputs.push_back(input.get());
71 tc::InferResult* rawResultPtr =
nullptr;
72 tc::Headers http_headers;
73 grpc_compression_algorithm compression_algorithm =
74 grpc_compression_algorithm::GRPC_COMPRESS_NONE;
78 &rawResultPtr, *
m_options, rawInputs, {}, http_headers, compression_algorithm),
79 "unable to run model "+
m_modelName.value() +
" error: " + err.Message()
82 std::shared_ptr<tc::InferResult> results(rawResultPtr);
85 for (
auto& [outputName, outputInfo]: outputData) {
86 auto& variant = outputInfo.second;
88 const auto status = std::visit([&](
auto& dataVec) {
89 using T = std::decay_t<
decltype(dataVec[0])>;
93 if (status != StatusCode::SUCCESS)
return status;
95 return StatusCode::SUCCESS;