我目前正在开发面部识别应用程序。提取MatConvnet模型权重
该算法是使用MatConvnet库(http://www.vlfeat.org/matconvnet/)实现和训练的。最后,我有一个网络(.MAT文件),它看起来像这样:
我想知道如果有可能利用其.MAT文件来提取网络的权重,将它们写入XML文件并用Caffe C++读取它们。我想在Caffe C++中重用它们来做一些测试和硬件实现。有没有一种有效和实用的方法来进行?
非常感谢您的帮助。
我目前正在开发面部识别应用程序。提取MatConvnet模型权重
该算法是使用MatConvnet库(http://www.vlfeat.org/matconvnet/)实现和训练的。最后,我有一个网络(.MAT文件),它看起来像这样:
我想知道如果有可能利用其.MAT文件来提取网络的权重,将它们写入XML文件并用Caffe C++读取它们。我想在Caffe C++中重用它们来做一些测试和硬件实现。有没有一种有效和实用的方法来进行?
非常感谢您的帮助。
有一个转换脚本可以将matconvnet模型转换为咖啡模型here,您可能会发现它很有用。
您想要存储参数的图层必须设置为“珍贵”。在net.var中,您可以访问参数并写入它们。
感谢h612为您的答案! –
您不能使用matconvnet的训练网络的权重咖啡。您只需将您的模型从matconvnet导入caffe。(https://github.com/vlfeat/matconvnet/blob/4ce2871ec55f0d7deed1683eb5bd77a8a19a50cd/utils/import-caffe.py)。但是这个脚本不支持所有的图层,你可能在使用它时遇到困难。 最好的方法是在python中定义caffe prototxt作为matconvnet模型。
已经有了一个可以接受的答案,所以OP的问题已经解决了。 –
谢谢你的回答。它帮助了我很多:) –