MCPcopy Create free account
hub / github.com/PaddlePaddle/Paddle-Lite / LoadModelNaiveV0FromMemory

Function LoadModelNaiveV0FromMemory

lite/model_parser/model_parser.cc:941–975  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

939
940#ifndef LITE_ON_TINY_PUBLISH
941void LoadModelNaiveV0FromMemory(const std::string &model_buffer,
942 Scope *scope,
943 cpp::ProgramDesc *cpp_prog) {
944 // Offset
945 uint16_t meta_version_tmp;
946 model_parser::StringBufferReader reader(model_buffer);
947 reader.Read(&meta_version_tmp, sizeof(uint16_t));
948
949 // (2)get opt version
950 char opt_version[16];
951 const uint64_t paddle_version_length = 16 * sizeof(char);
952 reader.Read(opt_version, paddle_version_length);
953 VLOG(4) << "Opt_version:" << static_cast<const char *>(opt_version);
954
955 // (3)get topo_size and topo_data
956 uint64_t topo_size;
957 reader.Read(&topo_size, sizeof(uint64_t));
958 naive_buffer::BinaryTable table;
959 table.LoadFromMemory(model_buffer.c_str() + reader.current(), topo_size);
960
961 naive_buffer::proto::ProgramDesc nb_proto_prog(&table);
962 nb_proto_prog.Load();
963 naive_buffer::ProgramDesc nb_prog(&nb_proto_prog);
964
965 // Transform to cpp::ProgramDesc
966 TransformProgramDescAnyToCpp(nb_prog, cpp_prog);
967
968 // Load Params
969 // NOTE: Only main block be used now.
970 // only combined Params are supported in Loading Model from memory
971 LoadCombinedParamsNaive(
972 model_buffer, reader.current() + topo_size, scope, *cpp_prog, true);
973
974 VLOG(4) << "Load model from naive buffer memory successfully";
975}
976#endif
977///////////////////////////////////////////////////////////////////
978// Meta_version=1,2

Callers 1

LoadModelNaiveFromMemoryFunction · 0.85

Calls 6

LoadCombinedParamsNaiveFunction · 0.85
LoadFromMemoryMethod · 0.80
LoadMethod · 0.60
ReadMethod · 0.45
c_strMethod · 0.45
currentMethod · 0.45

Tested by

no test coverage detected