Ask Your Question

Revision history [back]

Input layer not found: conv5/weights

  • opencv: 4.2
  • OS: WINDOWS10
  • Compile tools: VS2017

I trained a simple model in tensorflow, and save as a pb file. In opencv I failed in readNetFromTensorflow.

cv::dnn::Net mynet = cv::dnn::readNetFromTensorflow( "my.pb" );

I got an error: Input layer not found: conv5/weights. But there should be no input node of conv5/weight in my model. All the weights should have been frozen and the whole model have already been saved as a pb.

for i in gf.node:
    if i.name == 'conv5/weights' or i.name=='split_5' or i.name=='conv5/weights/read' or i.name=='split_5/split_dim':
        print(i);
-- I got: ----
name: "conv5/weights"
op: "Const"
attr {
  key: "dtype"
  value {
    type: DT_FLOAT
  }
}
attr {
  key: "value"
  value {....}
}


 name: "conv5/weights/read"
 op: "Identity"
 input: "conv5/weights"

 name: "split_5/split_dim"
 op: "Const"

 name: "split_5"
 op: "Split"
 input: "split_5/split_dim"
 input: "conv5/weights/read"

How to solve this problem?