这个问题苦恼了很久,就是很多大佬的论文提供的都是caffe的模型,想把他们模型训练好的参数或者是他们提供的预训练参数转化为pytorch弄到自己的网络中。
网上有很多奇奇怪怪的caffe转pytorch的方法,但是都很麻烦,终于弄懂了一个很简单的办法。
https://download.csdn.net/download/yuanqia4079/10835874
首先下载这个链接里面的caffe2pytorch.zip文件,然后解压,里面有三个文件:caffe_pb2.py layer_factory.py parse_caffe.py
想要用大佬的caffe模型,首先要考虑这个大佬的代码里面有没有很多他自己写的层,如果有些特殊层标准的caffe里面没有的话,那就必须要把大佬的caffe代码完整编译一遍,然后进入编译好的caffe目录:cafferoot/python/caffe/proto/这个目录找到caffe_pb2.py这个文件,然后替换掉下载下来的三个文件中的那个同名文件,(如果说大佬没有重新在caffe里面重新写一些奇奇怪怪的层,那么就完全可以使用caffe自带的caffe_pb2.py,注意你下载的caffe_pb2.py有一定特殊性,不一定能用)
你要先打开parse_caffe.py,看到里面有几个参数需要写,那么有三个参数必须要写,model就写你找的大佬提供prototxt文件,然后weights就写caffemodel,dump_weights就写你要保存的pytorch的文件。 然后使用python2注意是2不是3,运行parse_caffe.py