pierluigiferrari / caffe_weight_converter

Caffe-to-Keras weight converter. Can also export weights as Numpy arrays for further processing.
GNU General Public License v3.0
69 stars 25 forks source link

model not convertible #5

Closed jozefmorvay closed 6 years ago

jozefmorvay commented 6 years ago

[libprotobuf ERROR C:\Users\guillaume\work\caffe-builder\build_v140_x64\packages\protobuf\protobuf_download-prefix\src\protobuf_download\src\google\protobuf\text_format.cc:298] Error parsing text-format caffe.NetParameter: 14:18: Message type "caffe.TransformationParameter" has no field named "resize_param". WARNING: Logging before InitGoogleLogging() is written to STDERR F0627 22:54:44.400454 3928 upgrade_proto.cpp:88] Check failed: ReadProtoFromTextFile(param_file, param) Failed to parse NetParameter file: feature_fusion_SSD\test.prototxt Check failure stack trace:

Does this mean I have a similar problem as in #3 ? I haven't tried loading some basic network yet, as you suggested, but the original paper repo at https://github.com/lzx1413/CAFFE_SSD/tree/fssd/cmake doesn't seem to use a custom version of caffe, nor are there any custom layers. I would like to avoid training model the model from scratch.

pierluigiferrari commented 6 years ago

Does this mean I have a similar problem as in #3 ?

Yes, this is the same problem.

but the original paper repo at https://github.com/lzx1413/CAFFE_SSD/tree/fssd/cmake doesn't seem to use a custom version of caffe, nor are there any custom layers.

Well, the repo instructs you to install Wei Liu's version of Caffe (i.e. the same version that the original SSD implementation uses), which is a modified version and does contain multiple custom layer types and other custom classes.

jozefmorvay commented 6 years ago

One more question, then. I can't get the Wei Liu's fork of Caffe to build on windows, since I know nothing of C++ build process and the errors it gives me are beyond my knowledge and patience. What other options do I have? If you have any ideas, please share. If not, I will train it from convolutionalized VGG.

pierluigiferrari commented 6 years ago

The only other option I can think of is to try to figure out the binary protocol buffer format of the .caffemodel files so that you could extract the weights without needing to install Caffe at all. Although that's just a spontaneous suggestion and trying to do this might get a lot uglier than trying to get the Caffe installation right.

Other than that, I guess it's either fighting your way through the Caffe installation with the help of StackOverflow or training from scratch.

jozefmorvay commented 6 years ago

This is probably better suited for your SSD repo, but are there any special considerations when trying to train SSD from scratch? I plan on first training it on COCO as per the original paper, then finetune on VOC 07+12 for the best accuracy, using Weight Sampling Tutorial as a guide. Is this how you achieved the reported results from the main README.md?

pierluigiferrari commented 6 years ago

I achieved the results that I report in the README exactly according to the SSD300 Jupyter training notebook.

Also, it's not clear that training on Pascal VOC after the model has already been trained to convergence on MS COCO will lead to an improvement. It might as well make the model worse, depending on the dataset you want to apply it to afterwards.

And yes, this question off-topic for this repo.

jozefmorvay commented 6 years ago

Thanks, will move it elsewhere.