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

    文章

    29611

    浏览量

    267911
  • buffer
    +关注

    关注

    2

    文章

    120

    浏览量

    29973
收藏 人收藏

    评论

    相关推荐

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

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

    STM CUBE AI错误导入onnx模型报错的原因?

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

    AI模型可以设计电路吗?

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

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

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

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

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

    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

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

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

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

    OpenHarmony分论坛-图库应用数据加载显示模型 天的2021华为开发者大会上,OpenHarmony分论坛上展示了图库应用数据加载显示模型
    的头像 发表于 10-23 13:42 1005次阅读
    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 760次阅读
    华为发布大<b class='flag-5'>模型</b>时代<b class='flag-5'>AI</b>存储新品

    盘古ai模型怎么使用

    怎么使用的具体步骤如下: 首先在盘古AI官网注册并获取API Key和Secret Key。 然后下载Python SDK,并按照说明安装SDK。 最后编写Python代码,调用SDK实现相应的功能。 使用盘古AI
    的头像 发表于 09-04 10:42 1.3w次阅读

    AI模型对数据存储技术的发展趋势

    AI模型AI带入新的发展阶段。AI模型需要更高效的海量原始数据收集和预处理,更高性能的训练数据加载
    发表于 10-23 11:26 802次阅读
    <b class='flag-5'>AI</b>大<b class='flag-5'>模型</b>对数据存储技术的发展趋势

    如何使用Tensorflow保存或加载模型

    TensorFlow是一个广泛使用的开源机器学习库,它提供了丰富的API来构建和训练各种深度学习模型。在模型训练完成后,保存模型以便将来使用或部署是一项常见的需求。同样,加载已保存的
    的头像 发表于 07-04 13:07 1080次阅读

    AI训练的基本步骤

    AI(人工智能)训练是一个复杂且系统的过程,它涵盖了从数据收集到模型部署的多个关键步骤。以下是对AI训练过程的详细阐述,包括每个步骤的具体内
    的头像 发表于 07-17 16:57 1470次阅读