最近小编收到一个客户模型,其中使用了一个叫做PRelu的算子,想要运行在RT170上。本来小编是信心满满的答应客户说:速度上放心,我们这主频1GHz的CPU绝对没问题,包您满意。没想到跑分结果出炉直接给了小编沉重一击。
(资料图)
直接依赖TFLm推理引擎的默认实现,PRelu算子的运行时间竟然高达188ms。于是小编本着工程师本有的探索精神,决定迎难而上,彻底将它优化一下。
所谓知己知彼,百战不殆,首先我们来看一下什么叫做PRelu算子。
PRelu,看着好像特别的高大上,我们将其拆分来看,将其分成P+Relu,是不是瞬间就觉得熟悉了。没错,他实际上就是我们常用的Relu算子的变种。其中,P,是Parametric的缩写,因此,所谓PRelu就是带参数的Relu,只不过,这里的参数实际上是可以被训练的,而非一个固定值。那么PRelu到底长什么样呢?小编马上揭开它的神秘面纱:
上图就是PRelu的庐山真面目。i 表示不同的通道。alpha的个数是跟着通道走的,不过好消息是,各个通道之间参数是可以共享的,这样看着清爽了不少。特殊的,如果我们配置H和W通道共享参数,那么参数alpha就变成了类似于bias的功能,逐通道共享一个参数,因此,其shape = (1, 1, c);
为了对客户负责,外加能够更加方便地进行模型测试,小编首先收利用Keras手动构建一个具有PRelu算子的小巧模型。正所谓小巧而又不失优雅,我们构建模型如下所示:
这个小巧的模型本身具备了我们所常见的多个算子,例如Conv2D,MaxPool2D,FullyConnect等,因此作为PRelu算子的测试模型也不至于显得过于寒酸。
接下来和大家聊聊小编的调试经历:
第一步,就是要对TFLm的源码进行分析,了解为何其运行缓慢。
PRelu算子实际上就是一个进阶版本的Relu算子,根据其输入值的正负分别进行计算,当输入为正是,就等于本身;当输入为负时,将结果乘以一个系数alpha。看似非常简单的计算方式,为啥TFLm的参考实现能算的这么慢呢?口说无凭,show me the code:
if (input_value >= 0) { output_value = MultiplyByQuantizedMultiplier( input_value, params.output_multiplier_1, params.output_shift_1); } else { auto alpha_index = SubscriptToIndex(desc2, b, y, x, c); const int32_t alpha_value = params.alpha_offset + alpha_data[alpha_index]; output_value = MultiplyByQuantizedMultiplier( input_value * alpha_value, params.output_multiplier_2, params.output_shift_2); }
看到这里,恰似风平浪静,的确是按照我们分析的那样,按照输入值的正负进行计算。但是...细心的读友可能发现了问题:
1) 这里的alpha_data有个index,没错,这就是运行慢的第一个原因。刚才说过,PRelu中的alpha参数是和通道数相关的,也就是说每个通道都可以拥有自己的值,而且各通道之间还可以共享,因此并不能直接顺序访问,而是需要根据index进行查找。
2) 这里多了一个叫做MultiplyByQuantizedMultiplier的函数,为啥不直接计算?这是另一个原因。熟悉深度学习的伙伴们一定知道,MCU平台常被称作:资源受限平台,这里的受限不仅体现在算力上,还有内存空间上,相较于MPU那种动辄几个G的DDR的庞然大物,MCU上的内存资源也是捉襟见肘。
想要将我们训练的模型部署运行在MCU上,第一步就是对模型进行量化操作,将浮点类型的模型转换为int8类型的模型,这样直接缩小到之前的1/4。同时由于量化后的模型采用int8表示,同时能够借助于优化后的运行库进行加速。
这样一来,为了既想要使用int8模型带来的遍历,又保证模型精度,就需要对输出结果进行反量化表示,已达到使用int8类型结果表达浮点数的效果。因此,就需要调用类似MultiplyByQuantizedMultiplier这样的函数进行反量化处理。
基于以上两点,我们也就发现了算法本身所存在的慢速隐患,接下来的优化操作也正是基于此展开。
下一篇会继续介绍通过内存外加反量化函数的改造提升算法执行速度。
关键词:
(责任编辑:黄俊飞)推荐内容
- 什么是PRelu算子?PRelu算子调优经历-先行篇
- 打赢游戏拿奖金?合法外衣下的赌博陷阱
- 应用程序错误0x000000如何解决(应用程序
- 深创投2023投资年会举行 75家深创投已投
- 天海防务:对全资子公司大津重工增资约2.
- 英国通胀目标恐难实现
- 谷神星一号遥八运载火箭发射成功
- 旅行社意外险赔偿标准是怎么样的?流程是
- 2023DNA音乐节佛山站演出时间是几点到几点?
- 父亲不同意改姓可以起诉吗
- 360集团创始人、董事长周鸿祎:大模型需
- CETV1直播/回放入口2023(附课程信息)
- 股票钝化是什么意思图解(钝化是什么意思
- 中国男篮又一竞争者倒下:约旦末节遭打崩
- 2023贵州黔南州长顺县医疗中心医院招聘备
- 股票行情快报:合肥城建(002208)8月25
- 重庆忠县可提供博世冰箱维修服务地址在哪
- 坏消息,Netflix打击共享账号,更坏的消
- 内蒙古自治区乌审旗发布雷电黄色预警
- 按摩椅家居搭配风格
- 湖南推进医药领域腐败问题集中整治
- 洛阳钼业通过“权益金大考” 下半年业绩
- 今日怎么下载手机主题 联想
- 英国数据料将转低 英镑兑美元有可能跌至
- 什么是股票 购买股票有什么优缺点
- 《Windows从零开始的美化》第一期·任务
- 英国伦敦股市《金融时报》100种股票平均
- 中国旭阳集团(01907)公布中期业绩 股东
- 【成语漫话世界】混淆视听
- 陕西西安未央警方:一店主为挣钱诱导大家
- 排海前夕日本经产相在水产展览会上吃鱼鼓
- 也许最好的办法,还是等
- 甘油的功效与作用是什么_甘油的功效与作
- 萨萨纳特罗足球俱乐部(关于萨萨纳特罗足
- 视频丨今年美股最大IPO到来!软银旗下Arm
- 龙韵股份(603729)8月25日主力资金净卖
- 沈阳二手房公积金贷款办下来要多久?
- 美国伊利诺伊州即将迎来一家电池制造商建
- 一个11岁学生的真实情况
- 劲爆嗨歌大全播放(劲爆嗨歌有哪些)
- 2023上海城市空间艺术季下月开幕,浦东这
- “兰州-阿拉木图”国际货运航线开通
- 没订立劳动合同辞工怎么办
- 世界首条500千伏三芯海缆通过耐压试验
- 香港:氢燃料电池巴士试验项目获批 预计
- 清新环境:公司尚不具备处理核污水技术
- 恒基地产:上半年股东应占基础净利润为60
- 邵阳市教育局最新发布!事关开学!
- 合肥老年大学2023秋季开学通知
- 2024年度城乡居民医疗保险缴费时间定吗?
- 海南省重大事故隐患专项排查整治第二轮检
- Mysteel晚餐:三部门推动落实首套房认房
- 股票行情快报:三利谱(002876)8月25日
- 海底两万里好词好句图片(海底两万里好词
- 超舒适、新体验,星途携六大人气车型闪耀
- 脑机接口让失语者以意念准确“发声”
- 2023暑假上海野生动物园成人票特价门票仅
- 斯特林双响!切尔西3-0完胜升班马,赛季
- 专辑是什么样子的 专辑是什么
- 长沙首套房、二套房房贷款利率仍然为4%、
- 湖南推进医药领域腐败问题集中整治
- 洛阳钼业通过“权益金大考” 下半年业绩
- 今日怎么下载手机主题 联想
- 英国数据料将转低 英镑兑美元有可能跌至
- 什么是股票 购买股票有什么优缺点
- 《Windows从零开始的美化》第一期·任务
- 英国伦敦股市《金融时报》100种股票平均
- 中国旭阳集团(01907)公布中期业绩 股东
- 【成语漫话世界】混淆视听
- 陕西西安未央警方:一店主为挣钱诱导大家
- 排海前夕日本经产相在水产展览会上吃鱼鼓
- 也许最好的办法,还是等
- 甘油的功效与作用是什么_甘油的功效与作
- 萨萨纳特罗足球俱乐部(关于萨萨纳特罗足
- 视频丨今年美股最大IPO到来!软银旗下Arm
- 龙韵股份(603729)8月25日主力资金净卖
- 沈阳二手房公积金贷款办下来要多久?
- 美国伊利诺伊州即将迎来一家电池制造商建
- 一个11岁学生的真实情况
- 劲爆嗨歌大全播放(劲爆嗨歌有哪些)
- 2023上海城市空间艺术季下月开幕,浦东这
- “兰州-阿拉木图”国际货运航线开通
- 没订立劳动合同辞工怎么办
- 世界首条500千伏三芯海缆通过耐压试验
- 香港:氢燃料电池巴士试验项目获批 预计
- 清新环境:公司尚不具备处理核污水技术
- 恒基地产:上半年股东应占基础净利润为60
- 邵阳市教育局最新发布!事关开学!
- 合肥老年大学2023秋季开学通知
- 2024年度城乡居民医疗保险缴费时间定吗?
- 海南省重大事故隐患专项排查整治第二轮检
- Mysteel晚餐:三部门推动落实首套房认房
- 股票行情快报:三利谱(002876)8月25日
- 海底两万里好词好句图片(海底两万里好词
- 超舒适、新体验,星途携六大人气车型闪耀
- 脑机接口让失语者以意念准确“发声”
- 2023暑假上海野生动物园成人票特价门票仅
- 斯特林双响!切尔西3-0完胜升班马,赛季
- 专辑是什么样子的 专辑是什么
- 长沙首套房、二套房房贷款利率仍然为4%、
- 贝克汉姆晒照称女儿成长太快,12岁小七脸
- “一碗面”香飘千里 一盘棋布局深远——
- 本周末气温高,下周多雷雨天气
- 高校多名女大学生身陷“大腚门”,内幕曝
- 刷屏!中科院博士被骗至缅甸,每日被强迫
- 内部优惠券平台?淘宝购物必备!
- 机场大道近远航路8车追尾 车辆不同程度
- 中国高科上半年净利同比减少七成,医学教
- 刘天:8.25黄金周线收官谨防黑天鹅!美盘
- 葛西瓦(关于葛西瓦简述)
- 长信科技:上半年净利降39.77%至2.197亿元
- 英雄联盟浪花夺宝多少钱 浪花夺宝抽奖价
- 又有8名电诈犯罪嫌疑人从缅甸被押解回国
- 云南鲜花产业:科技力量助力鲜花产业全产
- 绍兴城投拟9月1日对“21绍城G2”付息,利
- 西安新城区5.75亿元推出1宗商住地 位于
- 两名在缅电诈嫌犯被押解回国,其中一人为
- 适配西南高原山区用车场景,长城炮定制版
- 今年底河南4条高速将通车
- 武清区受灾群众专场招聘会举行