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

Method FittingStrategy

lite/load_and_run/src/strategys/strategy_fitting.cpp:374–411  ·  view source on GitHub ↗

/////////////////// FittingStrategy //////////////////////////////////

Source from the content-addressed store, hash-verified

372
373// /////////////////// FittingStrategy //////////////////////////////////
374FittingStrategy::FittingStrategy(std::string model_path) {
375 m_manager = std::make_shared<OptionsFastManager>();
376 m_dumped_model = FLAGS_dump_fitting_model;
377 m_options = std::make_shared<OptionMap>();
378 m_model_path = model_path;
379 auto option_creator_map = OptionFactory::get_Instance().get_option_creator_map();
380 auto option_validater_map =
381 OptionFactory::get_Instance().get_option_validater_map();
382 //! validate option used in fitting
383 auto validate_option = [&](std::string name) -> void {
384 if (option_validater_map->find(name) != option_validater_map->end()) {
385 auto& validater = (*option_validater_map).at(name);
386 if (validater) {
387 validater(true);
388 }
389 }
390 };
391
392 //! construct option which is valid
393 auto construct_option = [&](std::string name) -> void {
394 auto& creator = (*option_creator_map)[name];
395 auto option = creator();
396 if (option) {
397 m_options->insert({name, option});
398 }
399 };
400
401 //! get all options which is valid
402 for (auto& creator : *option_creator_map) {
403 auto name = creator.first;
404 if (m_options->count(name) == 0) {
405 validate_option(name);
406 construct_option(name);
407 }
408 }
409
410 m_manager->init(m_options);
411}
412
413void FittingStrategy::dump_best_options_with_model() {
414 std::vector<uint8_t> info_algo_policy_data;

Callers

nothing calls this directly

Calls 8

findMethod · 0.45
endMethod · 0.45
atMethod · 0.45
insertMethod · 0.45
countMethod · 0.45
initMethod · 0.45

Tested by

no test coverage detected