MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / LITE_set_finish_callback

Function LITE_set_finish_callback

lite/lite-c/src/network.cpp:477–501  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

475}
476
477int LITE_set_finish_callback(
478 LiteNetwork network, const LiteFinishCallback finish_callback) {
479 LITE_CAPI_BEGIN();
480 LITE_ASSERT(network, "The network pass to LITE api is null");
481 auto lite_finish_callback =
482 [finish_callback](const std::unordered_map<
483 std::string,
484 std::pair<lite::IO, std::shared_ptr<lite::Tensor>>>&
485 outputs_map) -> void {
486 std::vector<LiteIO> ios;
487 std::vector<LiteTensor> io_tensors;
488 size_t nr_io = 0;
489 for (const auto& io : outputs_map) {
490 nr_io++;
491 auto&& lite_io = io.second.first;
492 ios.push_back(
493 {lite_io.name.c_str(), lite_io.is_host, lite_io.io_type,
494 convert_to_clayout(lite_io.config_layout)});
495 io_tensors.push_back(io.second.second.get());
496 }
497 finish_callback(ios.data(), io_tensors.data(), nr_io);
498 };
499 static_cast<lite::Network*>(network)->set_finish_callback(lite_finish_callback);
500 LITE_CAPI_END();
501}
502
503int LITE_set_finish_callback_with_userdata(
504 LiteNetwork network, const LiteFinishCallbackWithData finish_callback,

Callers 1

TESTFunction · 0.85

Calls 6

convert_to_clayoutFunction · 0.85
finish_callbackFunction · 0.85
push_backMethod · 0.45
getMethod · 0.45
dataMethod · 0.45
set_finish_callbackMethod · 0.45

Tested by 1

TESTFunction · 0.68