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

Function LITE_set_finish_callback_with_userdata

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

Source from the content-addressed store, hash-verified

501}
502
503int LITE_set_finish_callback_with_userdata(
504 LiteNetwork network, const LiteFinishCallbackWithData finish_callback,
505 void* user_data) {
506 LITE_CAPI_BEGIN();
507 LITE_ASSERT(network, "The network pass to LITE api is null");
508 auto lite_finish_callback =
509 [finish_callback,
510 user_data](const std::unordered_map<
511 std::string,
512 std::pair<lite::IO, std::shared_ptr<lite::Tensor>>>&
513 outputs_map) -> void {
514 std::vector<LiteIO> ios;
515 std::vector<LiteTensor> io_tensors;
516 size_t nr_io = 0;
517 for (const auto& io : outputs_map) {
518 nr_io++;
519 auto&& lite_io = io.second.first;
520 ios.push_back(
521 {lite_io.name.c_str(), lite_io.is_host, lite_io.io_type,
522 convert_to_clayout(lite_io.config_layout)});
523 io_tensors.push_back(io.second.second.get());
524 }
525 finish_callback(ios.data(), io_tensors.data(), nr_io, user_data);
526 };
527 static_cast<lite::Network*>(network)->set_finish_callback(lite_finish_callback);
528 LITE_CAPI_END();
529}
530
531int LITE_enable_profile_performance(
532 LiteNetwork network, const char* profile_json_file_path) {

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