• 将caffemodel文件转换为Matlab可用的数据形式


    1.MATLAB示例程序:

    %% Load the Caffe.Net and save in model file.
    def = fullfile('..', 'models', 'VGG_CNN_M_1024', 'test.prototxt');
    net = fullfile('..', 'output', 'default', 'voc_2007_trainval', ...
    'vgg_cnn_m_1024_fast_rcnn_iter_40000.caffemodel');
    ConvNet = caffe.Net(def, net, 'test');
    save model/ConvNet ConvNet

    其中,def为网络的test.prototxt文件路径,net为caffe训练得到caffemodel文件路径。调用caffe.Net可以获得MATLAB可以解析的数据形式(矩阵形式),如下所示:
    (示例为Small VGG训练后,转成的Matlab形式的模型参数)

    这里写图片描述

    在matlab命令行内输入代码

    ConvNet.layers('conv1').params(1).get_data();

    可以看见第一个卷积层的参数。

    这里写图片描述

    2.异常处理

    1.Undefined variable “caffe” or class “caffe.Net”

    这里写图片描述

    解决方案:需要在Matlab中加入caffe目录及子目录的路径

    2.Encountered an internal problem

    这里写图片描述

    解决方案:可能是因为CUDA等版本变动导致,重新编译caffe。

    $ cd $(CAFFE_ROOT)
    $ make clean
    $ make -j24
    $ make pycaffe
    $ make matcaffe

    这里写图片描述

    3.部分网络会产生其他错误,具体问题具体分析。

    (FRCNN可以选择其他caffe源,编译并添加路径试试。)

  • 相关阅读:
    GraphQL:Descriptor Attributes
    C++ 条件变量
    C++ future
    C++ 互斥
    C++ 通用锁管理
    并发
    C++ 线程
    智能指针
    PMP4.项目整合管理4.7结束项目或阶段
    PMP4.项目整合管理4.5监控项目工作
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814846.html
Copyright © 2020-2023  润新知