| 76 | } |
| 77 | |
| 78 | void Network::prase_model(std::shared_ptr<void> model_data, size_t size) { |
| 79 | std::unordered_map<std::string, LiteAny> separate_config_map; |
| 80 | ModelParser model_parser(model_data, size); |
| 81 | //! parse the model info |
| 82 | if (model_parser.parse_model_info( |
| 83 | m_config, m_network_io, separate_config_map, m_extra_info, |
| 84 | !m_extra_config.disable_configure_by_model_info)) { |
| 85 | if (m_config.backend == LiteBackend::LITE_DEFAULT && |
| 86 | m_impl->get_backend_type() != LiteBackend::LITE_DEFAULT) { |
| 87 | m_impl.reset(try_call_func<NetworkImplDft, lite::Network::NetworkImplBase*>( |
| 88 | "parse_model")); |
| 89 | } |
| 90 | if (!m_extra_config.disable_configure_by_model_info) { |
| 91 | m_impl->set_config(m_config); |
| 92 | m_impl->set_io(m_network_io); |
| 93 | } |
| 94 | } |
| 95 | //! decryption the model |
| 96 | size_t model_length; |
| 97 | auto&& model_shared_ptr = model_parser.parse_model(model_length, m_config); |
| 98 | |
| 99 | m_impl->load_model(model_shared_ptr, model_length, separate_config_map); |
| 100 | m_loaded = true; |
| 101 | update_from_implement(); |
| 102 | } |
| 103 | |
| 104 | Network::~Network() = default; |
| 105 |
nothing calls this directly
no test coverage detected