Я хотел протестировать предварительно обученную модель, загруженную отсюда, для выполнения задачи ocr. Ссылка для загрузки, ее имя - CRNN_VGG_BiLSTM_CTC.onnx. Эта модель извлечена из здесь. Sample-image.png можно загрузить с здесь (см. Код ниже ).
Когда я делаю пересылку нейронной сети для прогнозирования (ocr) в большом двоичном объекте, я получаю следующую ошибку:
ошибка: OpenCV (4.4.0) /tmp/pip-req-build-xgme2194/opencv/modules/dnn/src/layers/convolution_layer.cpp:348: ошибка: (-215: сбой утверждения) ngroups ›0 && inpCn% ngroups == 0 && outCn% ngroups == 0 в функции 'getMemoryShapes'
Не стесняйтесь читать приведенный ниже код. Я много чего пробовал, это странно, потому что эта модель не требует заранее заданной формы ввода. Если вы знаете какой-либо способ прочитать эту модель и продвинуться вперед, это тоже будет полезно, но я бы предпочел решить проблему с помощью OpenCV.
import cv2 as cv
# The model is downloaded from here https://drive.google.com/drive/folders/1cTbQ3nuZG-EKWak6emD_s8_hHXWz7lAr
# model path
modelRecognition = os.path.join(MODELS_PATH,'CRNN_VGG_BiLSTM_CTC.onnx')
# read net
recognizer = cv.dnn.readNetFromONNX(modelRecognition)
# Download sample_image.png from https://i.ibb.co/fMmCB7J/sample-image.png (image host website)
sample_image = cv.imread('sample-image.png')
# Height , Width and number of channels of the image
H, W, C = sample_image.shape
# Create a 4D blob from cropped image
blob = cv.dnn.blobFromImage(sample_image, size = (H, W))
recognizer.setInput(blob)
# Here is where i get the errror that I mentioned before
result = recognizer.forward()
Огромное спасибо заранее.