提取MatConvnet模型权重

问题描述 投票:1回答:3

我目前正在开发面部识别应用程序。

使用MatConvnet库(http://www.vlfeat.org/matconvnet/)实现和训练算法。最后,我有一个网络(.mat文件),看起来像:enter image description here

enter image description here

我想知道是否可以使用.mat文件提取网络的权重,将它们写入XML文件并使用Caffe C ++读取它们。我想在Caffe C ++中重用它们,以便进行一些测试和硬件实现。这样做是否有一种有效而实用的方法?

非常感谢你的帮助。

c++ opencv machine-learning caffe matconvnet
3个回答
1
投票

有一个转换脚本可以将matconvnet模型转换为caffe模型here,您可能会发现它很有用。


2
投票

您要存储其参数的图层必须设置为“珍贵”。在net.var中,您可以访问参数并编写它们。


0
投票

您不能通过matconvnet使用经过训练的网络的权重来获取caffe。您只需将模型从matconvnet导入到caffe。(https://github.com/vlfeat/matconvnet/blob/4ce2871ec55f0d7deed1683eb5bd77a8a19a50cd/utils/import-caffe.py)。但是这个脚本不支持所有层,你可能在使用它时遇到困难。最好的方法是在python中将caffe prototxt定义为matconvnet模型。

© www.soinside.com 2019 - 2024. All rights reserved.