MCPcopy Create free account
hub / github.com/PaddlePaddle/Serving / general_model_initialize

Method general_model_initialize

core/predictor/framework/resource.cpp:199–294  ·  view source on GitHub ↗

model config

Source from the content-addressed store, hash-verified

197
198// model config
199int Resource::general_model_initialize(const std::string& path,
200 const std::string& file) {
201 if (this->_cube_config_fullpath.size() != 0) {
202 LOG(INFO) << "init cube by config file : " << this->_cube_config_fullpath;
203 rec::mcube::CubeAPI* cube = rec::mcube::CubeAPI::instance();
204 int ret = cube->init(this->_cube_config_fullpath.c_str());
205 if (ret != 0) {
206 LOG(ERROR) << "cube init error";
207 return -1;
208 }
209 }
210 VLOG(2) << "general model path: " << path;
211 VLOG(2) << "general model file: " << file;
212 if (!FLAGS_enable_general_model) {
213 LOG(ERROR) << "general model is not enabled";
214 return -1;
215 }
216 ResourceConf resource_conf;
217 if (configure::read_proto_conf(path, file, &resource_conf) != 0) {
218 LOG(ERROR) << "Failed initialize resource from: " << path << "/" << file;
219 return -1;
220 }
221 size_t general_model_num = resource_conf.general_model_path_size();
222 for (size_t gi = 0; gi < general_model_num; ++gi) {
223 std::string general_model_path = resource_conf.general_model_path(gi);
224 std::string general_model_file = resource_conf.general_model_file(gi);
225
226 GeneralModelConfig model_config;
227 if (configure::read_proto_conf(general_model_path.c_str(),
228 general_model_file.c_str(),
229 &model_config) != 0) {
230 LOG(ERROR) << "Failed initialize model config from: "
231 << general_model_path << "/" << general_model_file;
232 return -1;
233 }
234 auto _config = std::make_shared<PaddleGeneralModelConfig>();
235 int feed_var_num = model_config.feed_var_size();
236 VLOG(2) << "load general model config";
237 VLOG(2) << "feed var num: " << feed_var_num;
238 _config->_feed_name.resize(feed_var_num);
239 _config->_feed_alias_name.resize(feed_var_num);
240 _config->_feed_type.resize(feed_var_num);
241 _config->_is_lod_feed.resize(feed_var_num);
242 _config->_capacity.resize(feed_var_num);
243 _config->_feed_shape.resize(feed_var_num);
244 for (int i = 0; i < feed_var_num; ++i) {
245 _config->_feed_name[i] = model_config.feed_var(i).name();
246 _config->_feed_alias_name[i] = model_config.feed_var(i).alias_name();
247 VLOG(2) << "feed var[" << i << "]: " << _config->_feed_name[i];
248 VLOG(2) << "feed var[" << i << "]: " << _config->_feed_alias_name[i];
249 _config->_feed_type[i] = model_config.feed_var(i).feed_type();
250 VLOG(2) << "feed type[" << i << "]: " << _config->_feed_type[i];
251
252 if (model_config.feed_var(i).is_lod_tensor()) {
253 VLOG(2) << "var[" << i << "] is lod tensor";
254 _config->_feed_shape[i] = {-1};
255 _config->_is_lod_feed[i] = true;
256 } else {

Callers 1

mainFunction · 0.80

Calls 6

read_proto_confFunction · 0.85
push_backMethod · 0.80
sizeMethod · 0.45
initMethod · 0.45
resizeMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected