0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Buffer加载AI模型的步骤

h1654155282.3538 来源:糖心他爸 作者:糖心他爸 2021-01-23 09:36 次阅读

我们在进行CNN模型推理的时候,需要预先从DDR或者ROM中加载AI模型。大家平时一般用的是create from file的形式,为了保护自己的模型IP,一般会在模型上面做一些混淆。下面我们介绍另外一种方式,create from buffer。在编译算法sdk的阶段,可以将AI模型作为机器码编译进so中,算法加载的时候从栈内存进行加载就可以。这样模型的参数和定义就不会暴露在用户层面,目前MNN、NCNN和RKNN等都提供了create from buffer的类似接口,非常方便用户们进行使用。

使用的方式也非常的简单,分如下三步进行操作:(1)生成十六进制模型文件 (2)制作头文件和cpp文件 (3)采用create from buffer进行模型加载

一、生成十六进制模型文件

可以采用linux提供的xdd工具进行十六进制模型文件的生成。假设你有编译好的mnn模型或者rknn模型,只要执行如下操作就可以生成十六进制的模型文件:

xxd -i face\_det.mnn face\_det.cpp

二、制作头文件和cpp文件

pIYBAGALfbqAGpjSAAF3FS2bkmY041.png

cpp文件由xdd工具生成,文件形式如下(文件太大,只截取头尾两部分):

o4YBAGALfcCAbhrPAAX6NbOFHzo829.png

o4YBAGALfcmAKMdXAAUVlfDduGg377.png

三、采用create from buffer接口实现模型加载

我们采用MNN的接口为例,核心代码块如下:

o4YBAGALfdCAOfisAAHIWiHV9CU372.png

这样成功进行编译后,就可以将AI模型固化到算法sdk的so库当中了。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • AI
    AI
    +关注

    关注

    87

    文章

    26435

    浏览量

    264036
  • buffer
    +关注

    关注

    2

    文章

    120

    浏览量

    29775
收藏 人收藏

    评论

    相关推荐

    使用cube-AI分析模型时报错的原因有哪些?

    使用cube-AI分析模型时报错,该模型是pytorch的cnn转化成onnx ``` Neural Network Tools for STM32AI v1.7.0 (STM.
    发表于 03-14 07:09

    防止AI模型被黑客病毒入侵控制(原创)聆思大模型AI开发套件评测4

    在训练一只聪明的AI小动物解决实际问题,通过构建神经网络模型并进行推理,让电脑也能像人一样根据输入信息做出决策。 在上述示例中,我创建了一个简单的深度学习模型,该模型具有两个全连接层。
    发表于 03-19 11:18

    AI模型可以设计电路吗?

    AI模型
    电子发烧友网官方
    发布于 :2024年01月02日 15:09:29

    AI模型怎么解决芯片过剩?

    AI模型
    电子发烧友网官方
    发布于 :2024年01月02日 15:42:05

    AI模型可以取代大学教育吗?

    AI模型
    电子发烧友网官方
    发布于 :2024年01月02日 16:27:52

    怎样使用PyTorch Hub去加载YOLOv5模型

    种情况下,模型将由预训练的权重组成,除了输出层,它们不再与预训练的输出层具有相同的形状。输出层将保持由随机权重初始化。强制重新加载如果您在上述步骤中遇到问题,force_reload=True通过丢弃
    发表于 07-22 16:02

    AI算法中比较常用的模型都有什么?

    AI算法中比较常用的模型都有什么
    发表于 08-27 09:19

    X-CUBE-AI 7.1.0生成代码初始化错误如何解决呢?

    大家好。 我在使用 X-CUBE-AI 7.1.0 版时遇到了问题。当我加载神经网络的 TFlite 模型并生成代码时,我在初始化输入和输出缓冲区时遇到了问题。特别是我对这个分配
    发表于 12-26 10:15

    为什么无法加载keras模型

    你好, 我创建了自己的模型并将其保存为 .h5。 但是,当我分析时,出现以下错误。 E010(InvalidModelError):无法加载 Keras 模型 D:motion.h5,E010
    发表于 12-27 09:04

    带你玩转OpenHarmony AI-基于海思NNIE的AI能力自定义

    自动检测、识别和判断的新体验,对于OpenHarmony平台上的AI开发有了一定认识。如果你已经有了一个AI创意,怎样训练出相关模型?怎样在你的OpenHarmony设备上部署你的AI
    发表于 01-12 11:39

    HarmonyOS:使用MindSpore Lite引擎进行模型推理

    () % divisor) / divisor;// 0--0.9f } } return OH_AI_STATUS_SUCCESS; } 然后进入主要的开发步骤,具括包括模型的准备、读取、编译、推理和释放,具体开发
    发表于 12-14 11:41

    华为开发者HarmonyOS零基础入门:应用数据加载显示模型

    华为开发者HarmonyOS零基础入门:应用数据加载显示模型,对模型进行优化与解码进行竞争,预加载提升体验。
    的头像 发表于 10-23 11:05 1088次阅读
    华为开发者HarmonyOS零基础入门:应用数据<b class='flag-5'>加载</b>显示<b class='flag-5'>模型</b>

    OpenHarmony分论坛-图库应用数据加载显示模型

    OpenHarmony分论坛-图库应用数据加载显示模型 天的2021华为开发者大会上,OpenHarmony分论坛上展示了图库应用数据加载显示模型
    的头像 发表于 10-23 13:42 857次阅读
    OpenHarmony分论坛-图库应用数据<b class='flag-5'>加载</b>显示<b class='flag-5'>模型</b>

    Buffer加载AI模型

    我们在进行CNN模型推理的时候,需要预先从DDR或者ROM中加载AI模型。大家平时一般用的是create from file的形式,为了保护自己的
    发表于 01-25 19:26 1次下载
    从<b class='flag-5'>Buffer</b><b class='flag-5'>加载</b><b class='flag-5'>AI</b><b class='flag-5'>模型</b>

    华为发布大模型时代AI存储新品

    7月14日,华为发布大模型时代AI存储新品, 为基础模型训练、行业模型训练,细分场景模型训练推理提供存储最优解,释放
    的头像 发表于 07-14 15:20 537次阅读
    华为发布大<b class='flag-5'>模型</b>时代<b class='flag-5'>AI</b>存储新品