Ошибка загрузки .pb и .pbtxt файла в функцию opencv readNetFromTensorflow () - PullRequest
0 голосов
/ 30 апреля 2019

Я пытаюсь экспортировать модель keras в tenorflow, чтобы использовать ее в opencv в качестве классификатора, я сделал экспорт из .h5 (файл веса keras) в .pb (protobuff tenorflow), но когда я пытаюсь использовать файл .pbtxt в opencv readNetFromTensorflow Я получаю сообщение об ошибке, что я не знаю, как обрабатывать

Я пытался использовать только файл .pb, передавая его в качестве параметра в функцию readNetFromTensorflow (), но он не работает.

import cv2 as cv

cvNet = cv.dnn.readNetFromTensorflow('pesi_pb.pb', 'pbtxt/graph.pbtxt')

img = cv.imread('gatto.png')
rows = img.shape[0]
cols = img.shape[1]
cvNet.setInput(cv.dnn.blobFromImage(img, size=(300, 300), swapRB=True, crop=False))
cvOut = cvNet.forward()

for detection in cvOut[0,0,:,:]:
    score = float(detection[2])
    if score > 0.3:
        left = detection[3] * cols
        top = detection[4] * rows
        right = detection[5] * cols
        bottom = detection[6] * rows
        cv.rectangle(img, (int(left), int(top)), (int(right), int(bottom)), (23, 230, 210), thickness=2)

cv.imshow('img', img)
cv.waitKey()
Traceback (most recent call last):
  File "C:/Users/chris/PycharmProjects/flask/opencv.py", line 3, in <module>
    cvNet = cv.dnn.readNetFromTensorflow('pesi_pb.pb', 'pbtxt/graph.pbtxt')
cv2.error: OpenCV(4.0.0) C:\projects\opencv-python\opencv\modules\dnn\src\caffe\caffe_io.cpp:1121: error: (-2:Unspecified error) FAILED: fs.is_open(). Can't open "pbtxt/graph.pbtxt" in function 'cv::dnn::ReadProtoFromTextFile'


Process finished with exit code 1

Я хотел бы знать, как правильно сделать, чтобы экспортировать модель из keras (что, я думаю, я сделал правильно, так как экспорт работает) и загрузить ее, чтобы использовать ее в качестве классификатора в opencv. Если вам нужна дополнительная информация, пожалуйста, свяжитесь со мной, я новичок в мире cnn, поэтому небольшая помощь приветствуется.

...