Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Error with custom trained SSD

Hi all,

I've trained a SSD network with custom dataset. The input is a 300x169 image (simply a scaled down fullHD image). I've tested the trained network on Ubuntu 16.04 and caffe, and it correctly classify. When I switch to windows, and I use my trained network with the Opencv example, I get the following error:

Assertion failed ((bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1)) in cv::dnn::initConvDeconvLayerFromCaffe

How can I resolve?

PS: I'm using OpenCV 3.3 compiled with extra module.

Error with custom trained SSD

Hi all,

I've trained a SSD network with custom dataset. The input is a 300x169 image (simply a scaled down fullHD image). I've tested the trained network on Ubuntu 16.04 and caffe, and it correctly classify. When I switch to windows, and I use my trained network with the Opencv example, I get the following error:

Assertion failed ((bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1)) in cv::dnn::initConvDeconvLayerFromCaffe

How can I resolve?

PS: I'm using OpenCV 3.3 compiled with extra module.

EDIT As @dkurt suggested, I recompiled Opencv with the last release (3.3.1). I fixed the code in order to remove the deprecated function, and now when I run the program I get this error:

Assertion failed (blobs.size() != 0) in cv::dnn::ConvolutionLayerImpl::getMemoryShapes

if I run the net with the pretrained SSD prototxt, while I get

 Assertion failed (fracpart == 0.0) in cv::dnn::experimental_dnn_v2::DictValue::get

with the prototxt generated from caffe.

Here are the links of the prototxt I use: Original prototxt, generated with caffe: link text

Prototxt of the pretrained SSD downloaded from SSD repository, with changes in the layers to match the size of my images and the number of my classes: link text

click to hide/show revision 3
retagged

updated 2017-10-26 06:53:09 -0600

berak gravatar image

Error with custom trained SSD

Hi all,

I've trained a SSD network with custom dataset. The input is a 300x169 image (simply a scaled down fullHD image). I've tested the trained network on Ubuntu 16.04 and caffe, and it correctly classify. When I switch to windows, and I use my trained network with the Opencv example, I get the following error:

Assertion failed ((bias && l->blobs.size() == 2) || (!bias && l->blobs.size() == 1)) in cv::dnn::initConvDeconvLayerFromCaffe

How can I resolve?

PS: I'm using OpenCV 3.3 compiled with extra module.

EDIT As @dkurt suggested, I recompiled Opencv with the last release (3.3.1). I fixed the code in order to remove the deprecated function, and now when I run the program I get this error:

Assertion failed (blobs.size() != 0) in cv::dnn::ConvolutionLayerImpl::getMemoryShapes

if I run the net with the pretrained SSD prototxt, while I get

 Assertion failed (fracpart == 0.0) in cv::dnn::experimental_dnn_v2::DictValue::get

with the prototxt generated from caffe.

Here are the links of the prototxt I use: Original prototxt, generated with caffe: link text

Prototxt of the pretrained SSD downloaded from SSD repository, with changes in the layers to match the size of my images and the number of my classes: link text