自制深度学习推理框架-实现我们的第一个算子Relu-第三课

2023-01-02 16:25:46
我们的课程主页

https://github.com/zjhellofss/KuiperInfer 欢迎pr和点赞


【资料图】

手把手教大家去写一个深度学习推理框架 B站视频课程

Relu算子的介绍

Relu是一种非线性激活函数,它的特点有运算简单,不会在梯度处出现梯度消失的情况,而且它在一定程度上能够防止深度学习模型在训练中发生的过拟合现象。Relu的公式表达如下所示,「如果对于深度学习基本概念不了解的同学,可以将Relu当作一个公式进行对待,可以不用深究其背后的含义。」

我们今天的任务就是来完成这个公式中的操作,「值得注意的是,在我们的项目中,x和y可以理解为我们在第二、第三节中实现的张量类(tensor).」

Operator类

Operator类就是我们在第一节中说过的计算图中「节点」的概念,计算图的另外一个概念是数据流图,如果同学们忘记了这个概念,可以重新重新翻看第一节课程。

在我们的代码中我们先定义一个「Operator」类,它是一个父类,其余的Operator,包括我们本节要实现的ReluOperator都是其派生类,「Operator中会存放节点相关的参数。」例如在「ConvOperator」中就会存放初始化卷积算子所需要的stride, padding, kernel_size等信息,本节的「ReluOperator」就会带有「thresh」值信息。

我们从下方的代码中来了解Operator类和ReluOperator类,它们是父子关系,Operator是基类,OpType记录Operator的类型。

enumclassOpType{kOperatorUnknown=-1,kOperatorRelu=0,};classOperator{public:OpTypekOpType=OpType::kOperatorUnknown;virtual~Operator()=default;explicitOperator(OpTypeop_type);};

ReluOperator实现:

classReluOperator:publicOperator{public:~ReluOperator()override=default;explicitReluOperator(floatthresh);voidset_thresh(floatthresh);floatget_thresh()const;private:floatthresh_=0.f;};

Layer类

我们会在operator类中存放从「计算图结构文件」得到的信息,例如在ReluOperator中存放的thresh值作为一个参数就是我们从计算图结构文件中得到的,计算图相关的概念我们已经在第一节中讲过。

下一步我们需要根据ReLuOperator类去完成ReluLayer的初始化,「他们的区别在于ReluOperator负责存放从计算图中得到的节点信息,不负责计算」,而ReluLayer则「负责具体的计算操作」,同样,所有的Layer类有一个公共父类Layer. 我们可以从下方的代码中来了解两者的关系。

classLayer{public:explicitLayer(conststd::string&layer_name);virtualvoidForwards(conststd::vector>>&inputs,std::vector>>&outputs);virtual~Layer()=default;private:std::stringlayer_name_;};

其中Layer的Forwards方法是具体的执行函数,负责将输入的inputs中的数据,进行relu运算并存放到对应的outputs中。

classReluLayer:publicLayer{public:~ReluLayer()override=default;explicitReluLayer(conststd::shared_ptr&op);voidForwards(conststd::vector>>&inputs,std::vector>>&outputs)override;private:std::shared_ptrop_;};

这是集成于Layer的ReluLayer类,我们可以看到其中有一个op成员,是一个ReluOperator指针,「这个指针中负责存放ReluLayer计算时所需要用到的一些参数」。此处op_存放的参数比较简单,只有ReluOperator中的thresh参数。

我们再看看是怎么使用ReluOperator去初始化ReluLayer的,先通过统一接口传入Operator类,再转换为对应的ReluOperator指针,最后再通过指针中存放的信息去初始化「op_」.

ReluLayer::ReluLayer(conststd::shared_ptr&op):Layer("Relu"){CHECK(op->kOpType==OpType::kOperatorRelu);ReluOperator*relu_op=dynamic_cast(op.get());CHECK(relu_op!=nullptr);this->op_=std::make_shared(relu_op->get_thresh());}

我们来看一下具体ReluLayer的Forwards过程,它在执行具体的计算,完成Relu函数描述的功能。

voidReluLayer::Forwards(conststd::vector>>&inputs,std::vector>>&outputs){CHECK(this->op_!=nullptr);CHECK(this->op_->kOpType==OpType::kOperatorRelu);constuint32_tbatch_size=inputs.size();for(inti=0;iempty());conststd::shared_ptr>&input_data=inputs.at(i);input_data->data().transform([&](floatvalue){floatthresh=op_->get_thresh();if(value>=thresh){returnvalue;}else{return0.f;}});outputs.push_back(input_data);}}

在for循环中,首先读取输入input_data, 再对input_data使用armadillo自带的transform按照我们给定的thresh过滤其中的元素,如果「value」的值大于thresh则不变,如果小于thresh就返回0.

最后,我们写一个测试函数来验证我们以上的两个类,节点op类,计算层layer类的正确性。先判断Forwards返回的outputs是否已经保存了relu层的输出,输出大小应该assert为1. 随后再进行比对,我们应该知道在thresh等于0的情况下,第一个输出index(0)和第二个输出index(1)应该是0,第三个输出应该是3.f.

TEST(test_layer,forward_relu){usingnamespacekuiper_infer;floatthresh=0.f;std::shared_ptrrelu_op=std::make_shared(thresh);std::shared_ptr>input=std::make_shared>(1,1,3);input->index(0)=-1.f;input->index(1)=-2.f;input->index(2)=3.f;std::vector>>inputs;std::vector>>outputs;inputs.push_back(input);ReluLayerlayer(relu_op);layer.Forwards(inputs,outputs);ASSERT_EQ(outputs.size(),1);for(inti=0;iindex(0),0.f);ASSERT_EQ(outputs.at(i)->index(1),0.f);ASSERT_EQ(outputs.at(i)->index(2),3.f);}}

本期代码仓库位置

gitclonehttps://gitee.com/fssssss/KuiperCourse.gitgitcheckoutfouth

标签: 是否已经 卷积算子 激活函数

上一篇 :

下一篇 :

自制深度学习推理框架-实现我们的第一个算子Relu-第三课

我们的课程主页https: github com zjhellofss KuiperInfer欢迎pr和点赞手把手教大家去写一个深度学习推理框架B站视频课

01-02 16:25:46

青椒怎么处理不辣用热水更辣?

1、炒青椒要把籽给去掉,还有里面白色的劲也一并去除在炒就不辣了。2、炒青椒前将辣椒放入热水中焯一下...

01-02 00:25:37

薏米芡实赤小豆熬水的比例是怎样的?

薏米赤小豆芡实茯苓汤推荐理由:薏米有健脾、利湿、清热的功效,赤小豆有利水消肿、解毒排脓、清热祛湿...

01-01 08:26:51

晋城动迁诉讼律师收费最新标准_全球快播报

1、按件收费收取(1)无财产争议:6000元-20000元之间;(2)法律文书:600元-2000元之间;(3)律师见...

12-31 16:11:10

可看特殊频道!多线路!超爽无限制、无授权!

软件-网站-资源-技巧 "本公众号主要为大家分享全网黑科技软件、玩机技巧、网站福利、安卓+iOS+PC+盒子...

12-30 22:51:16

当前快讯:渤海银行荣获2022年度“ESG先锋奖” 践行服务赋能绿色经济转型

近日,在由财联社与生态环境部环境规划院联合主办2022“中国ESG金融峰会”上,渤海银行股份有限公司(以...

12-30 19:00:52

攀升暴风龙S2获得PChome2022年度国潮轻薄本奖

​在PChome2022年度卓越产品评选中,攀升暴风龙S2获得年度国潮轻薄本奖项。

12-30 16:09:53

每日观点:重庆永川区儿童医院线上问诊流程

一、关注“永川区集嫒医院(永川区儿童医院)”微信公众号。二、点击公众号下方“互动交流”,选择“线上...

12-30 10:49:31

今日热门!在融e贷借款后多久还款影响征信

网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天...

12-30 06:48:21

天天热门:博思软件(300525.SZ):拟向多啦财税增资882.64万元

格隆汇12月29日丨博思软件公布,为满足公司战略发展需要,完善公司产业布局,公司拟使用自有或自筹资金8...

12-29 19:58:05

天天速讯:C视频丨2022成都数字版权交易博览会开幕

12月29日,2022成都数字版权交易博览会在中国西部国际博览城盛大开幕。

12-29 18:04:30

湘潭市自建房安全政策法规宣传如火如荼_当前通讯

湘潭市自建房安全政策法规宣传如火如荼

12-29 16:13:02

12月29日盘前重要宏观新闻 世界即时

>>国际机构展望明年经济人民币资产成关键标的市场转变之间,投资机遇蕴藏。“目前市况是投资者可以把握...

12-29 14:03:06

三德科技(300515.SZ)近日收到长沙市人工智能产业发展项目第二批资金170万元

格隆汇12月28日丨三德科技公布,公司近日收到长沙市人工智能产业发展项目第二批资金人民币170万元,公司...

12-29 12:04:04

世界报道:​机器学习数据不满足同分布,怎么整?

机器学习作为一门科学,不可避免的是,科学本身是基于归纳得到经验总结,必然存在历史经验不适用未来的...

12-29 10:26:53

今日播报!记一次QQ找回经历

腾讯的风控策略让普通用户抓狂经历是这样的,昨天有事要登录下QQ号,因为很久没用过QQ的缘故,现在是在...

12-28 18:07:50

勤上股份(002638)12月28日主力资金净卖出419.99万元

截至2022年12月28日收盘,勤上股份(002638)报收于2 26元,下跌4 24%,换手率4 39%,成交量43 74万手...

12-28 15:16:48

济南高新控股16亿元中票将于1月8日付息 利率4.16%|焦点消息

观点网讯:12月28日,济南高新控股集团有限公司发布了2021年度第一期中期票据2023年付息公告。观点新媒...

12-28 11:03:31

各地加强困难群众生活保障——发物资 保供暖 送关爱|世界聚焦

各地加强困难群众生活保障——发物资保供暖送关爱(确保群众温暖安全过冬②)核心阅读根据实际需求,个性...

12-28 07:51:12

汉威科技(300007):监事会换届选举-世界信息

2022年12月28日公告发布

12-27 20:08:06

中国是否从下个月开始发放旅游签证?外交部回应_世界热闻

中新网北京12月27日电(记者郭超凯)中国外交部发言人汪文斌27日主持例行记者会。有记者提问,中方发布了...

12-27 16:13:26

欣旺达回应控股子公司拆分上市:暂不清楚 可能领导层还在做决策

欣旺达投资关系部门内部人士称:“这个我们还暂时不知道,可能领导层还在做决策。”同时,该人士称,公...

12-27 11:13:36

丰台5000多人献血 今头条

昨日,丰台区,市民无偿献血前进行采血检测。截至12月26日12时,丰台区已组织6场团体无偿献血活动,全区...

12-27 05:49:06

正海磁材: 中信建投证券股份有限公司关于烟台正海磁性材料股份有限公司使用银行承兑汇票方式支付募投项目所需资金并以募集资金等额置换的核查意见

中信建投证券股份有限公司           关于烟台正海磁性材料股份有限公司       使用...

12-26 17:36:24

这份最新出炉的“中国人看世界”榜单,美日重要性在持续下降

外交学院国际关系研究所教授李海东告诉《环球时报》记者,近年来,美方在台湾问题、南海问题等议题上对...

12-26 12:24:17

sus304.316304哪个好?_环球报道

316比较好。316不锈钢和304都是食品级不锈钢,从性能来比,316不锈钢是304不锈钢的升级版,更耐腐蚀、耐...

12-26 06:44:16

海口防疫健康包来了!首批十万份免费发放,实用又贴心!-天天报资讯

叮叮叮!海口版防疫健康包来咯~

12-25 13:30:52

每日关注!玖富万卡贷款逾期六年还不起影响征信吗

网贷逾期一般会上征信,有些借贷机构在用户逾期后一天后就会上报给征信机构,而有些借贷机构则是会在几天...

12-24 15:29:20

当前聚焦:金财互联: 独立董事提名人声明(钱世云)

证券代码:002530             金财互联控股股份有限公司               ...

12-23 22:03:16

宏德股份(301163.SZ):拟2.7亿元投建年产3万吨高端装备关键件精密机械加工制造项目

格隆汇12月23日丨宏德股份(301163 SZ)公布,根据公司战略规划,拟购置新地块,新建厂区建设“年产3万吨...

12-23 15:49:12

穿越时空的心灵之光

当轻柔而灵敏的手指在电话和手机的键盘上跳跃这一道穿越时空的光波轻柔地从我的心海划过它越过高山大海...

12-23 10:01:02

东盟秘书长:将推动东盟中国全面战略伙伴关系深入发展 全球头条

新华社雅加达12月22日电(记者余谦梁)东盟秘书长林玉辉22日表示,东盟高度重视发展对华关系,赞赏中方...

12-22 22:45:02

克明食品拟控股兴疆牧歌养猪前景待考 短债九个月骤增80.35%

挂面第一股克明食品(002661 SZ)打起了养猪的主意。12月16日,克明食品发布公告称,拟以现金收购阿克苏...

12-22 22:38:30

全球快报:广安爱众(600979.SH):公开发行不超10亿元公司债券申请获证监会注册批复

格隆汇12月22日丨广安爱众公布,近日,公司收到中国证监会出具的《关于同意四川广安爱众股份有限公司向...

12-22 15:42:25

每日观点:火星人:截止到2022年12月20日,公司现有股东户数13516户

火星人(300894)12月22日在投资者关系平台上答复了投资者关心的问题。投资者:董秘你好:请问截止12月20...

12-22 10:09:18

天天实时:2022 十大汽车政策盘点 \| 各地出台促汽车消费政策 汽车产业快速复工复产

今年3、4月受疫情冲击,部分地区汽车生产和消费受到影响。在此情形下,今年5月底,财政部、国家税务总局...

12-21 20:08:59

赣粤高速: 赣粤高速第八届董事会第十四次会议决议公告 环球快报

证券代码:600269    股票简称:赣粤高速        编号:临 2022-042债券代码:122255    ...

12-07 19:00:27

趣睡科技董秘回复:公司凭借特有的“外包生产+互联网销售”轻资产运营模式,生产经营更加灵活_全球视点

趣睡科技(301336)12月06日在投资者关系平台上答复了投资者关心的问题。投资者:请问贵公司没有工厂,没...

12-06 17:41:20

百心安-B(2185.HK)涨5.97%报71港元 总市值173亿港元

百心安-B(2185 HK)涨5 97%,报71港元,总市值173亿港元。百心安-B5日发布2022年中期业绩,其他收入及...

08-08 20:27:18

平台民宿预订量已达到6月全月的60% 暑期民宿预订量正在迅速起量

中小学陆续放暑假,家长们早已为小神兽们订制好了研学游、户外游。途家民宿数据显示,7月首周(7 1-7 7...

07-09 23:18:14

深圳将实施重点行业领域降碳行动 促进城市绿色低碳发展

今年深圳市政府工作报告提出,2022年,深圳将出台碳达峰实施方案,实施重点行业领域降碳行动,打造一批...

05-21 19:47:13

种竹子还是金丝楠 什么样的林子可以称为“碳中和林”?

林场员工在巡视林木生长情况。今年,各地在义务植树节期间,纷纷打出碳中和林概念。那么,什么样的林子...

03-18 12:41:59

用植物的成长过程 诉说环境保护真谛

春季是万象更新的季节,更是播种的季节。3月14日, 在金陵汇文小学的操场上,五(2)班的同学们正开展着...

03-18 12:41:59

一名本土确诊病例系厦门大学教职工 校方已排查93人均阴性

  中新网11月26日电 据厦门大学微信公众号消息,11月25日18:00,上海市召开新冠肺炎疫情防控新闻发布...

11-26 14:15:17

江西本轮疫情新冠肺炎住院确诊病例“清零”

  (抗击新冠肺炎) 江西本轮疫情新冠肺炎住院确诊病例“清零”  中新网南昌11月26日电 (记者 吴鹏...

11-26 14:15:17

江苏徐州:封控区隔离人员1304人核酸检测均为阴性

  中新网11月26日电 据“徐州发布”微博消息,江苏省徐州市疫情防控应急指挥部发布疫情防控工作进展...

11-26 14:15:16

上海逾5万名筛查对象核酸检测阴性

  (抗击新冠肺炎)上海逾5万名筛查对象核酸检测阴性  中新社上海11月26日电 (记者 陈静)上海25日新...

11-26 14:15:16

“90后”波兰姑娘在中国:想做“小小平民外交官”

  中新网湖州11月26日电(记者 施紫楠)今年是波兰姑娘杰西卡在中国乡村生活的第9年。对于她来说,中国...

11-26 14:15:16

浙大不眠夜:罕见亮起“灿烂星辰”灯 守护师生前行

  中新网杭州11月26日电 题:浙大不眠夜:罕见亮起“灿烂星辰”灯 守护师生前行  作者 谢盼盼 ...

11-26 14:15:16

聚焦2021中国网络媒体论坛展示会 “宝鸡元素”备受追捧

  【聚焦2021中国网络媒体论坛展示会】 “宝鸡元素”备受追捧  11月24日—26日,2021中国网络媒体...

11-26 14:15:15

青椒怎么处理不辣用热水更辣?
薏米芡实赤小豆熬水的比例是怎样的?
晋城动迁诉讼律师收费最新标准_全球快播报
可看特殊频道!多线路!超爽无限制、无授权!
当前快讯:渤海银行荣获2022年度“ESG先锋奖” 践行服务赋能绿色经济转型
攀升暴风龙S2获得PChome2022年度国潮轻薄本奖
每日观点:重庆永川区儿童医院线上问诊流程
今日热门!在融e贷借款后多久还款影响征信
天天热门:博思软件(300525.SZ):拟向多啦财税增资882.64万元
天天速讯:C视频丨2022成都数字版权交易博览会开幕
湘潭市自建房安全政策法规宣传如火如荼_当前通讯
12月29日盘前重要宏观新闻 世界即时
三德科技(300515.SZ)近日收到长沙市人工智能产业发展项目第二批资金170万元
世界报道:​机器学习数据不满足同分布,怎么整?
今日播报!记一次QQ找回经历
勤上股份(002638)12月28日主力资金净卖出419.99万元
济南高新控股16亿元中票将于1月8日付息 利率4.16%|焦点消息
各地加强困难群众生活保障——发物资 保供暖 送关爱|世界聚焦
汉威科技(300007):监事会换届选举-世界信息
中国是否从下个月开始发放旅游签证?外交部回应_世界热闻
欣旺达回应控股子公司拆分上市:暂不清楚 可能领导层还在做决策
丰台5000多人献血 今头条
正海磁材: 中信建投证券股份有限公司关于烟台正海磁性材料股份有限公司使用银行承兑汇票方式支付募投项目所需资金并以募集资金等额置换的核查意见
这份最新出炉的“中国人看世界”榜单,美日重要性在持续下降
sus304.316304哪个好?_环球报道
海口防疫健康包来了!首批十万份免费发放,实用又贴心!-天天报资讯
每日关注!玖富万卡贷款逾期六年还不起影响征信吗
当前聚焦:金财互联: 独立董事提名人声明(钱世云)
宏德股份(301163.SZ):拟2.7亿元投建年产3万吨高端装备关键件精密机械加工制造项目
穿越时空的心灵之光
东盟秘书长:将推动东盟中国全面战略伙伴关系深入发展 全球头条
克明食品拟控股兴疆牧歌养猪前景待考 短债九个月骤增80.35%
全球快报:广安爱众(600979.SH):公开发行不超10亿元公司债券申请获证监会注册批复
每日观点:火星人:截止到2022年12月20日,公司现有股东户数13516户
天天实时:2022 十大汽车政策盘点 \| 各地出台促汽车消费政策 汽车产业快速复工复产
赣粤高速: 赣粤高速第八届董事会第十四次会议决议公告 环球快报
趣睡科技董秘回复:公司凭借特有的“外包生产+互联网销售”轻资产运营模式,生产经营更加灵活_全球视点
百心安-B(2185.HK)涨5.97%报71港元 总市值173亿港元
平台民宿预订量已达到6月全月的60% 暑期民宿预订量正在迅速起量
深圳将实施重点行业领域降碳行动 促进城市绿色低碳发展
种竹子还是金丝楠 什么样的林子可以称为“碳中和林”?
用植物的成长过程 诉说环境保护真谛
一名本土确诊病例系厦门大学教职工 校方已排查93人均阴性
江西本轮疫情新冠肺炎住院确诊病例“清零”
江苏徐州:封控区隔离人员1304人核酸检测均为阴性
上海逾5万名筛查对象核酸检测阴性
“90后”波兰姑娘在中国:想做“小小平民外交官”
浙大不眠夜:罕见亮起“灿烂星辰”灯 守护师生前行
聚焦2021中国网络媒体论坛展示会 “宝鸡元素”备受追捧
杭州两名无症状感染者的767名密切接触者核酸为阴性
X 广告
行业动态
X 广告

Copyright ©  2015-2022 今日植物网版权所有  备案号:沪ICP备2022005074号-40   联系邮箱:5 85 59 73 @qq.com