MCPcopy Create free account
hub / github.com/OAID/Tengine / LoadGraph

Method LoadGraph

tengine-module/plugin/serializer/caffe/caffe_serializer.cpp:273–333  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

271}
272
273bool CaffeSingle::LoadGraph(te_caffe::NetParameter& caffe_net, StaticGraph* graph)
274{
275 SetGraphIdentity(graph, "caffe", caffe_net.name(), "0");
276
277 name_map_t tensor_name_map;
278
279 int layer_num = caffe_net.layer_size();
280 int i;
281
282 std::vector<std::string> no_supported_op;
283 for(i =0; i < layer_num; i++)
284 {
285 const te_caffe::LayerParameter& layer_param = caffe_net.layer(i);
286 const std::string& caffe_op_name = layer_param.type();
287
288 if(!FindOpLoadMethod(caffe_op_name))
289 {
290 auto it = find(no_supported_op.begin(), no_supported_op.end(), caffe_op_name);
291 if(it == no_supported_op.end())
292 no_supported_op.push_back(caffe_op_name);
293 }
294 }
295 if(no_supported_op.size() != 0)
296 {
297 LOG_ERROR() << "These "<< no_supported_op.size() << "ops are not supported:\n";
298 LOG_ERROR() << "{";
299
300 for(int j = 0 ; j < static_cast<int> (no_supported_op.size()); j++)
301 {
302 LOG_ERROR() << no_supported_op[j] << ",";
303 }
304 LOG_ERROR() << "}\n";
305 return false;
306 }
307 for(i = 0; i < layer_num; i++)
308 {
309 const te_caffe::LayerParameter& layer_param = caffe_net.layer(i);
310 const std::string& caffe_op_name = layer_param.type();
311
312 //if(!FindOpLoadMethod(caffe_op_name))
313 //{
314 // LOG_ERROR() << "cannot find load function for operator: " << caffe_op_name << "\n";
315 // break;
316 // }
317
318 StaticNode* node = CreateStaticNode(graph, layer_param.name());
319
320 if(!LoadNode(graph, node, layer_param, tensor_name_map))
321 break;
322
323 op_load_t op_func = any_cast<op_load_t>(GetOpLoadMethod(caffe_op_name));
324
325 if(!op_func(graph, node, layer_param))
326 break;
327 }
328
329 if(i < layer_num)
330 return false;

Callers

nothing calls this directly

Calls 6

SetGraphIdentityFunction · 0.85
FindOpLoadMethodFunction · 0.85
CreateStaticNodeFunction · 0.85
beginMethod · 0.80
endMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected