Ask Your Question

Revision history [back]

error: (-2:Unspecified error) in my rcnn

i am have a problem that says "error: (-2:Unspecified error) Can't create layer "flatten_1/Shape" of type "Shape" in function 'getLayerInstance "

so, somebody can help me for solving this problem.

this is the code that i am working for :


import cv2

import argparse

import numpy as np

def get_output_layers(net):

layer_names = net.getLayerNames()

output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]

return output_layers

def draw_prediction(img, class_id, confidence, x, y, x_plus_w, y_plus_h):

label = str(classes[class_id])

color = COLORS[class_id]

cv2.rectangle(img, (x, y), (x_plus_w, y_plus_h), color, 2)

cv2.putText(img, label, (x - 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)

image = cv2.imread( "ArquivosAdenomas/ImagensTeste/ImagemNormal/OMA100X (7).bmp" )

Width = image.shape[1]

Height = image.shape[0]

scale = 0.00392

classes = None

with open("Classe.txt", 'r') as f:

classes = [line.strip() for line in f.readlines()]

COLORS = np.random.uniform(0, 255, size=(len(classes), 3))

net = cv2.dnn.readNetFromTensorflow(model = "modelo.pb")

blob = cv2.dnn.blobFromImage(image, scale, (416, 416), (0, 0, 0), True, crop=False)

net.setInput(blob)

str = get_output_layers(net)

outs = net.forward ( str )

class_ids = []

confidences = []

boxes = []

conf_threshold = 0.5

nms_threshold = 0.4

for out in outs:

for detection in out:

    scores = detection[5:]

    class_id = np.argmax(scores)

    confidence = scores[class_id]

    if confidence > 0.5:

        center_x = int(detection[0] * Width)

        center_y = int(detection[1] * Height)

        w = int(detection[2] * Width)

        h = int(detection[3] * Height)

        x = center_x - w / 2

        y = center_y - h / 2

        class_ids.append(class_id)

        confidences.append(float(confidence))

        boxes.append([x, y, w, h])

indices = cv2.dnn.NMSBoxes(boxes, confidences, conf_threshold, nms_threshold)

for i in indices:

i = i[0]

box = boxes[i]

x = box[0]

y = box[1]

w = box[2]

h = box[3]

draw_prediction(image, class_ids[i], confidences[i], round(x), round(y), round(x + w), round(y + h))

cv2.imshow("object detection", image)

cv2.waitKey()

cv2.imwrite("object-detection.jpg", image)

cv2.destroyAllWindows()

click to hide/show revision 2
None

updated 2019-02-01 09:11:36 -0600

berak gravatar image

error: (-2:Unspecified error) in my rcnn

i am have a problem that says "error: (-2:Unspecified error) Can't create layer "flatten_1/Shape" of type "Shape" in function 'getLayerInstance "

so, somebody can help me for solving this problem.

this is the code that i am working for :


import cv2

cv2 import argparse

argparse import numpy as np

np def get_output_layers(net):

get_output_layers(net): layer_names = net.getLayerNames()

net.getLayerNames()

    output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]

 return output_layers

def draw_prediction(img, class_id, confidence, x, y, x_plus_w, y_plus_h):

y_plus_h):

    label = str(classes[class_id])

 color = COLORS[class_id]

 cv2.rectangle(img, (x, y), (x_plus_w, y_plus_h), color, 2)

 cv2.putText(img, label, (x - 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)

image = cv2.imread( "ArquivosAdenomas/ImagensTeste/ImagemNormal/OMA100X (7).bmp" )

) Width = image.shape[1]

image.shape[1] Height = image.shape[0]

image.shape[0] scale = 0.00392

0.00392 classes = None

None with open("Classe.txt", 'r') as f:

f:

    classes = [line.strip() for line in f.readlines()]

COLORS = np.random.uniform(0, 255, size=(len(classes), 3))

3)) net = cv2.dnn.readNetFromTensorflow(model = "modelo.pb")

"modelo.pb") blob = cv2.dnn.blobFromImage(image, scale, (416, 416), (0, 0, 0), True, crop=False)

net.setInput(blob)

crop=False) net.setInput(blob) str = get_output_layers(net)

get_output_layers(net) outs = net.forward ( str )

) class_ids = []

[] confidences = []

[] boxes = []

[] conf_threshold = 0.5

0.5 nms_threshold = 0.4

0.4 for out in outs:

outs:

    for detection in out:

     scores = detection[5:]

     class_id = np.argmax(scores)

     confidence = scores[class_id]

     if confidence > 0.5:

         center_x = int(detection[0] * Width)

         center_y = int(detection[1] * Height)

         w = int(detection[2] * Width)

         h = int(detection[3] * Height)

         x = center_x - w / 2

         y = center_y - h / 2

         class_ids.append(class_id)

         confidences.append(float(confidence))

         boxes.append([x, y, w, h])

indices = cv2.dnn.NMSBoxes(boxes, confidences, conf_threshold, nms_threshold)

nms_threshold) for i in indices:

indices:

    i = i[0]

 box = boxes[i]

 x = box[0]

 y = box[1]

 w = box[2]

 h = box[3]

 draw_prediction(image, class_ids[i], confidences[i], round(x), round(y), round(x + w), round(y + h))

cv2.imshow("object detection", image)

cv2.waitKey()

cv2.imwrite("object-detection.jpg", image)

cv2.destroyAllWindows()

cv2.imshow("object detection", image)

cv2.waitKey()

cv2.imwrite("object-detection.jpg", image)

cv2.destroyAllWindows()

click to hide/show revision 3
retagged

updated 2019-02-01 09:11:59 -0600

berak gravatar image

error: (-2:Unspecified error) in my rcnn

i am have a problem that says "error: (-2:Unspecified error) Can't create layer "flatten_1/Shape" of type "Shape" in function 'getLayerInstance "

so, somebody can help me for solving this problem.

this is the code that i am working for :


import cv2

import argparse

import numpy as np


def get_output_layers(net):

  layer_names = net.getLayerNames()

    output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]

    return output_layers

def draw_prediction(img, class_id, confidence, x, y, x_plus_w, y_plus_h):

    label = str(classes[class_id])

    color = COLORS[class_id]

    cv2.rectangle(img, (x, y), (x_plus_w, y_plus_h), color, 2)

    cv2.putText(img, label, (x - 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)


image = cv2.imread( "ArquivosAdenomas/ImagensTeste/ImagemNormal/OMA100X (7).bmp" )

Width = image.shape[1]

Height = image.shape[0]

scale = 0.00392

classes = None

with open("Classe.txt", 'r') as f:

    classes = [line.strip() for line in f.readlines()]

COLORS = np.random.uniform(0, 255, size=(len(classes), 3))

net = cv2.dnn.readNetFromTensorflow(model = "modelo.pb")

blob = cv2.dnn.blobFromImage(image, scale, (416, 416), (0, 0, 0), True, crop=False)

net.setInput(blob)

str = get_output_layers(net)

outs = net.forward ( str )

class_ids = []

confidences = []

boxes = []

conf_threshold = 0.5

nms_threshold = 0.4

for out in outs:

    for detection in out:

        scores = detection[5:]

        class_id = np.argmax(scores)

        confidence = scores[class_id]

        if confidence > 0.5:

            center_x = int(detection[0] * Width)

            center_y = int(detection[1] * Height)

            w = int(detection[2] * Width)

            h = int(detection[3] * Height)

            x = center_x - w / 2

            y = center_y - h / 2

            class_ids.append(class_id)

            confidences.append(float(confidence))

            boxes.append([x, y, w, h])

indices = cv2.dnn.NMSBoxes(boxes, confidences, conf_threshold, nms_threshold)

for i in indices:

    i = i[0]

    box = boxes[i]

    x = box[0]

    y = box[1]

    w = box[2]

    h = box[3]

    draw_prediction(image, class_ids[i], confidences[i], round(x), round(y), round(x + w), round(y + h))

cv2.imshow("object detection", image)

cv2.waitKey()

cv2.imwrite("object-detection.jpg", image)

cv2.destroyAllWindows()
click to hide/show revision 4
retagged

updated 2019-02-01 09:12:16 -0600

berak gravatar image

error: (-2:Unspecified error) in my rcnn

i am have a problem that says "error: (-2:Unspecified error) Can't create layer "flatten_1/Shape" of type "Shape" in function 'getLayerInstance "

so, somebody can help me for solving this problem.

this is the code that i am working for :


import cv2

import argparse

import numpy as np


def get_output_layers(net):

  layer_names = net.getLayerNames()

    output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()]

    return output_layers

def draw_prediction(img, class_id, confidence, x, y, x_plus_w, y_plus_h):

    label = str(classes[class_id])

    color = COLORS[class_id]

    cv2.rectangle(img, (x, y), (x_plus_w, y_plus_h), color, 2)

    cv2.putText(img, label, (x - 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)


image = cv2.imread( "ArquivosAdenomas/ImagensTeste/ImagemNormal/OMA100X (7).bmp" )

Width = image.shape[1]

Height = image.shape[0]

scale = 0.00392

classes = None

with open("Classe.txt", 'r') as f:

    classes = [line.strip() for line in f.readlines()]

COLORS = np.random.uniform(0, 255, size=(len(classes), 3))

net = cv2.dnn.readNetFromTensorflow(model = "modelo.pb")

blob = cv2.dnn.blobFromImage(image, scale, (416, 416), (0, 0, 0), True, crop=False)

net.setInput(blob)

str = get_output_layers(net)

outs = net.forward ( str )

class_ids = []

confidences = []

boxes = []

conf_threshold = 0.5

nms_threshold = 0.4

for out in outs:

    for detection in out:

        scores = detection[5:]

        class_id = np.argmax(scores)

        confidence = scores[class_id]

        if confidence > 0.5:

            center_x = int(detection[0] * Width)

            center_y = int(detection[1] * Height)

            w = int(detection[2] * Width)

            h = int(detection[3] * Height)

            x = center_x - w / 2

            y = center_y - h / 2

            class_ids.append(class_id)

            confidences.append(float(confidence))

            boxes.append([x, y, w, h])

indices = cv2.dnn.NMSBoxes(boxes, confidences, conf_threshold, nms_threshold)

for i in indices:

    i = i[0]

    box = boxes[i]

    x = box[0]

    y = box[1]

    w = box[2]

    h = box[3]

    draw_prediction(image, class_ids[i], confidences[i], round(x), round(y), round(x + w), round(y + h))

cv2.imshow("object detection", image)

cv2.waitKey()

cv2.imwrite("object-detection.jpg", image)

cv2.destroyAllWindows()