vlfeat / matconvnet

MatConvNet: CNNs for MATLAB
Other
1.4k stars 753 forks source link

deploy with BatchNorm convert to matconvnet error #971

Closed yangxuehang closed 7 years ago

yangxuehang commented 7 years ago

I have a model trained in caffe, which contains BatchNorm layers. When I convert it into matconvnet .mat form, I encounter an error. The deploy it accepts only old-version, i.e such as "Convolution" layer type must be written into CONVOLUTION.

I find only with caffe-invariant equals caffe-b50f1d, the .proto contains BatchNorm layers, but obviously the VlLayerParameter do not have batchnorm layer, Thus I don't know how to fix this problem?

tmp.png

Who else have ever encoutered the same problem with me ? I will be great appreciated for your help!

yangxuehang commented 7 years ago

The attached image is the newer version deploy, from this figure it can be seen that the matconvnet cannot accept newer version deploy. Howerer, the older version has no BatchNorm layer, so what to do???

yangxuehang commented 7 years ago

It's solved. I forget to change my deploy "layers" into "layer", after revise, it's almost correct. It should be noted that matconvnet has several layers not implemented, such as power, sigmoid, etc. Hope it is not hard to implement here.