2016-12-13 11 views
1

В настоящее время я разрабатываю приложение для распознавания лиц.Извлечение весов модели MatConvnet

Алгоритмы реализованы и обучены с использованием библиотеки MatConvnet (http://www.vlfeat.org/matconvnet/). В конце концов, у меня есть сети (.mat файл), который выглядит следующим образом: enter image description here

enter image description here

Я хотел бы знать, если бы можно было извлечь веса сети, используя свой файл .mat , напишите их в XML-файле и прочитайте их с Caffe C++. Я хотел бы повторно использовать их в Caffe C++ для выполнения некоторых тестов и аппаратной реализации. Есть ли эффективный и практичный способ продолжения?

Благодарим за помощь.

ответ

1

Существует сценарий преобразования, который преобразует модели matconvnet в модели caffe here, которые могут оказаться полезными.

+0

Благодарим вас за ответ. Это мне очень помогло :) –

2

Слой, параметры которого вы хотите сохранить, должен быть установлен как «драгоценный». В net.var вы можете получить доступ к параметрам и записать их.

+0

Спасибо h612 за ваш ответ! –

0

Вы не можете использовать вес обученной сети по matconvnet для caffe. Вы можете просто импортировать свою модель из matconvnet в caffe. (https://github.com/vlfeat/matconvnet/blob/4ce2871ec55f0d7deed1683eb5bd77a8a19a50cd/utils/import-caffe.py). Но этот скрипт не поддерживает все слои, и у вас могут быть трудности с его использованием. Лучший способ - определить ваш прототип caffe в python в качестве модели matconvnet.

+0

Существует уже принятый ответ, поэтому проблема OP была решена. –