zoukankan      html  css  js  c++  java
  • Caffe转NCNN模型转换

    caffe2ncnn

    一、准备工作

    安装opencv

    安装protobuf

    下载ncnn源码并编译

    git clone https://github.com/Tencent/ncnn

    cd ncnn

    mkdir build && cd build

    cmake ..

    make -j4

    make install

    二、具体操作

    (1)、如果是旧版Caffe模型,需要在Caffe环境中转换为新版Caffe模型;

     ~/caffe/build/tools/upgrade_net_proto_text deploy.prototxt new_deplpy.prototxt

     ~/caffe/build/tools/upgrade_net_proto_binary bvlc_alexnet.caffemodel new_bvlc_alexnet.caffemodel

     执行后,即可生成一个新版的Cafffe模型;

    (2)、编译NCNN源码,编译成功后,会在源码中生成一个build文件夹;

    (3)、终端进入ncnn/build/tools/caffe目录下,会发现生成一个caffe2ncnn的可执行文件。

    (4)、执行如下命令:(caffe文件名和生成的ncnn文件名需要自己设置)

    ./caffe2ncnn new_deploy.prototxt new.caffemodel demo.param demo.bin

    执行完成之后在ncnn/build/tools/caffe下就可以看到生成的param和bin文件了。

    三、转换后模型验证

    验证思路:

    1、对caffe和ncnn进行相同的预处理,使结果保持一致,例如指定图片的大小、将HWC通道转换为CHW、减均值、归一化处理等操作;

    2、输入一张图片,使用Resnet50 Caffe模型运行,得出结果;

    进入caffe/build/examples文件下执行resnet50的可执行文件,输入图片,得到预测值的索引和概率的结果

    3、同样地,输入同张图片,使用Resnet50 NCNN模型运行,得出结果;

    进入ncnn/build/examples文件下执行resnet的可执行文件,输入图片,得到预测值的索引和概率的结果

    4、将两个得出的结果进行比较,观察是否大致相同。如果结果大致相同,则模型转换成功;如果结果差距较大,则模型转换失败。

  • 相关阅读:
    产品生成器模块的问题图片处理
    jQueryinteface效果集合
    aspx页面中文汉字显示为乱码
    实用的正则表达式
    用javascript操作xml
    标注上下标的方法
    1740 博弈
    1028 母函数
    To resolve the problem of sharepoint can not login
    Modify Sharepoint Login UI
  • 原文地址:https://www.cnblogs.com/wanggangtao/p/11314010.html
Copyright © 2011-2022 走看看