【技术实现步骤摘要】
一种轻量级微处理器AI推理框架
[0001]本专利技术属于人工智能
,涉及一种轻量级微处理器AI推理框架。
技术介绍
[0002]将AI算法模型和深度学习框架移植到带有实时操作系统的微处理器上并不是一件容易的事,在代码移植上:需要对算法模型的大小进行估算才可以计算内存分配大小、需要根据OS的API接口去修改框架代码、需要做到编译器编译选项的统一、需要考虑各种性能优化问题等等。对于一般的嵌入式开发者或者算法研究员来说,要做到对深度学习推理框架、算法模型、目标芯片平台的底层都十分了解,才可以设计出高效稳定的AI嵌入式系统。如果有一种可以完成AI模型自动化部署的工具,则只需要在上位机用命令行指定芯片对应BSP路径和训练后AI模型的路径,就可以一键式的完成AI模型部署,并且能够发挥出芯片的最优性能,且直接编译烧录就可以运行。
技术实现思路
[0003]本专利技术的目的是提供一种轻量级微处理器AI推理框架,解决了现有技术中存在的AI模型难以部署的问题。
[0004]本专利技术所采用的技术方案是:
[0005]一种轻量级微处理器AI推理框架,步骤包括:
[0006]步骤1,在上位机使用量化器对称量化算法将.h5模型量化为numpy数组;
[0007]步骤2,创建数组头文件用于存储numpy数组;
[0008]步骤3,创建算子头文件,将解析.h5模型中所使用的算子,将MicroInfer库中与.h5模型中所使用的算子适配的算子存入算子头文件;
[0009]在步骤 ...
【技术保护点】
【技术特征摘要】
1.一种轻量级微处理器AI推理框架,其特征在于,步骤包括:步骤1,在上位机使用量化器对称量化算法将.h5模型量化为numpy数组;步骤2,创建数组头文件用于存储numpy数组;步骤3,创建算子头文件,将解析.h5模型中所使用的算子,将MicroInfer库中与.h5模型中所使用的算子适配的算子存入算子头文件;在步骤1~步骤3的过程中生成计算图并计算算子头文件在下位机上部署所需内存空间的大小;步骤4,生成MicroInfer核心代码软件包对数组头文件、算子头文件进行解析与调用;步骤5获取用户BSP工程,根据计算的内存空间大小重新分配用户BSP工程的内存大小;将MicroInfer软件包文件扩充到用户BSP工程中得到更新的BSP工程并保存到下位机;步骤6,生成模板工程代码和API调用注释供用户在下位机进行实际开发时进行使用。2.如权利要求1所述的一种轻量级微处理器AI推理框架,其特征在于,步骤1包括:步骤1.1,获取用户所指定的.h5模型目录,对.h5模型目录进行解析得到权重数组和计算层的输出数据;步骤1.2,计算.h5模型中权重数组x
f
的input_dec并计算量化尺度input_scale:input_scale=7
‑
input_dec
ꢀꢀꢀꢀꢀꢀꢀ
(4)步骤1.3,对.h5模型中计算层的输出数据x
o
的output_dec,并计算其量化尺度output_scale用于后续做数据矫正:output_scale=7
‑
out_dec
ꢀꢀꢀꢀꢀꢀꢀ
(6)其中x
o
为.h5模型中计算层的输出数据,out_dec为对x
o
取2为底的对数;步骤1.4,对乘法因子进行矩阵转秩计算得到乘法因子的量化尺度kernel_scale;步骤1.5,计算每一层的左移参数layer_RSHIFT和右移参数layer_LSHIFT,用于计算过程中的数据修正:layer_RSHIFT=input_scale+kernel_scale
‑
output_scale
ꢀꢀꢀꢀꢀꢀ
(7)layer_LSHIFT=input_scale+kernel_scale
‑
bias_scale
ꢀꢀꢀꢀꢀꢀꢀꢀ
(8)其中kernel_scale表示乘法因子的量化尺度,input_scale表示.h5模型中权重数组的输入量化尺度,output_scale表示.h5模型中输出数据的量化尺度,bias_scale表示偏置项的量化尺度;步骤1.6,采用以下公式完成量化输出值的计算:y
q
=ro...
【专利技术属性】
技术研发人员:何辞,张亚生,黄子勤,陈晨,
申请(专利权)人:西安电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。