专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

MATLAB环境下深度学习代码生成将推理模型部署到生产环境中

  如今,深度学习已在商业领域普及,现实中对训练好的推理模型的应用,已可见于各行各业,但具体应用的开发仍大量依赖一些大公司的框架或产品。他们有些提供云端的接口,也有些提供基于安卓的智能终端上的apk,换句话说,核心其实并没有掌握在自己手里,想深度定制就难了。
  而能够自行采用TensorRT、cuDNN或CUDA,或者利用IntelMKLDNN,又或者针对ARM的MaliGPU或Neon核实现深度学习应用的,与普遍存在的需求相比仍在少数。
  原因可能是下面中的一条或多条:缺乏有相关编程经验的工程师目标平台不能用TensorRT,自己基于cuDNN或原生CUDA写太难了用TensorRT还能搞定NVIDIAGPU,ARM实在无能为力找来一套开源代码,BUG好多,动不动就死了,死了,了性能不达标但量化好坑,FP32的模型转FP16INT8可咋整有IntelXeon处理器没NVIDIAGPU,还得学MKLDNN框架
  深度学习不仅训练要用到大量数据和算力,其推理也很耗计算资源,因此在实际应用中必须利用如MKLDNN、CUDA、ARMCompute等在支持张量计算的硬件如IntelXeon、NVIDIAGPU和ARMMali或Neon核上实现才能获得满足实际要求的性能。
  假设我们有一个训练好的LSTM模型,存储在lstmnet。mat文件中,我们写了一个MATLAB函数lstmnetpredict。m来调用这个模型进行推理,如下:functionoutlstmnetpredict(in)
  persistentmynet;
  ifisempty(mynet)
  mynetcoder。loadDeepLearningNetwork(lstmnet。mat);
  end
  outpredict(mynet,in);
  采用以下脚本,即可为上述推理函数产生C代码。为代码生成进行配置
  cfgcoder。gpuConfig(mex);
  cfg。TargetLangC;
  cfg。DeepLearningConfigcoder。DeepLearningConfig(cudnn);
  定义目标函数的输入参数
  matrixInputcoder。typeof(double(0),〔3Inf〕,〔falsetrue〕);
  Runthecodegencommand。
  codegenconfigcfglstmnetpredictargs{matrixInput}report
  自动生成的C代码看起来是下面这个样子的:
  事实上,通过修改代码生成配置,也就是下面这几行代码,我们就可以为不同的目标平台生成不同的代码了。为代码生成进行配置
  cfgcoder。gpuConfig(mex);
  cfg。TargetLangC;
  cfg。DeepLearningConfigcoder。DeepLearningConfig(cudnn);
  譬如,如果我们要基于TensorRT来生成嵌入式GPU(如JetsonNano)上跑的代码:为代码生成进行配置
  cfgcoder。gpuConfig(lib);
  cfg。TargetLangC;
  cfg。GenCodeOnlytrue;
  cfg。Hardwarecoder。hardware(NVIDIAJetson);
  cfg。DeepLearningConfigcoder。DeepLearningConfig(tensorrt);
  cfg。GpuConfig。ComputeCapability7。0;
  cfg。DeepLearningConfig。DataTypefp16;
  定义目标函数的输入参数
  matrixInputcoder。typeof(double(0),〔3Inf〕,〔falsetrue〕);
  Runthecodegencommand。
  codegenconfigcfglstmnetpredictargs{matrixInput}report
  这里,我们可以指定硬件平台与兼容版本,甚至通过增加一行DataType的配置就可以从默认的FP32转而生成FP16的推理代码了。
  转成INT8稍微复杂一些,因为那不仅要防止溢出,还必须进行校验校准。以一个图像分类网络如mobilenetv2或resnet50为例,如果要产生INT8的代码,我们需要准备一个数据集用来在代码生成时进行校验校准,但代码生成时的配置其实也就是3行脚本:cfg。DeepLearningConfig。DataTypeint8;
  cfg。DeepLearningConfig。DataPathcalibdataset;
  cfg。DeepLearningConfig。NumCalibrationBatches50;
  再譬如,如果要针对ARMNeon生成C代码,脚本如下:为代码生成进行配置
  cfgcoder。config(lib);
  cfg。TargetLangC;
  cfg。GenCodeOnlytrue;
  dlcfgcoder。DeepLearningConfig(armcompute);
  dlcfg。ArmArchitecturearmv7;
  dlcfg。ArmComputeVersion19。05;
  cfg。DeepLearningConfigdlcfg;
  cfg。Hardwarecoder。hardware(RaspberryPi);
  定义目标函数的输入参数
  matrixInputcoder。typeof(double(0),〔3Inf〕,〔falsetrue〕);
  Runthecodegencommand。
  codegenconfigcfglstmnetpredictargs{matrixInput}report
  这里用到了ARMCompute库,我们不仅指定了ARM的架构版本,还指定了Compute库的版本。
  给ARMNeon生成的代码看起来是这样子的:
  面包多代码
  https:mbd。puboGeBENHAGEN
  此外,知乎付费咨询:哥廷根数学学派
  擅长现代信号处理(改进小波分析系列,改进变分模态分解,改进经验小波变换,改进辛几何模态分解等等),改进机器学习,改进深度学习,机械故障诊断,改进时间序列分析(金融信号,心电信号,振动信号等)

三十多岁男人每天晚上喝二三两酒,长期下去对身体有什么危害?每天晚上喝二三两酒,长期下去对身体有什么危害?这个要视个人的身体情况而定。有的人身体状况好,肝脏功能强大,自身酒量又不错,喝个一两斤白酒都没事,二三两酒对于他来说,跟白开水没什么区在辅导班关停的情况下,几个家长联合起来给学生辅导作业可以吗?这里是说家长联合起来给学生辅导,我的理解有三层含义1家长联合起来,自己辅导(这个可能性完全有,因为现在很多家长学历都比较高)挑选一个曾经是学霸的家长来辅导,辅导涉及到各科,对这个家移动号码用了十多年了有什么福利?移动号码用了10年,那么每个月可以免费领取10GB流量,连续三个月,详情如下图所示。移动的对于老用户的福利从未停止,常见的以下三大福利。第一杀熟如果你是一个移动老用户,那么经常接到有人说一个没有奉献精神的人,绝对发不了财,这是规律,你认同吗?这种说法非常错误,我不认同!首先,奉献和发财不能相提并论。什么是奉献?没有报酬的付出才叫奉献。为发财而努力的人,干的再多,那也不是奉献!为了中华民族的命运,为了新中国的诞生,牺牲了当销售岗位成了招聘会的主要工作岗位后,会怎样?销售岗是比较有挑战性的工作,工资结构一般是底薪低,提成高,靠业绩来提高工资水平。因为具有挑战性,很多人抗压能力差,起步难,时间久了赚不到钱便离职了,所以流动性较大,故而招聘销售岗的我们总是高呼不能体罚学生,可当学生不做作业,扰乱课堂秩序阻碍其他学生学习怎么办?说说体罚。一说体罚,不少人就会举例说在美国体罚是违法的等等,现实情况是怎么样的呢?最近美国德克萨斯州的三河学区(ThreeRivers)以6比0全票通过了允许体罚学生的新政策,根据公办高中将学生按成绩分快慢班是否违规呢?高中阶段学生按成绩分班并不要偷偷摸摸扭扭捏捏的,而是光明正大之事。其一,高中阶段教育不同于义务教育国家明令禁止义务教育阶段,把按学生成绩把学生分为不同类型的班级,任何孩子都必须接受2021年存款民营银行利率哪家最高?根据政策风向,存款市场必将迎来一场变局,包括民营银行在内,高利率存款也将难以为继,且存且珍惜。要想了解哪家民营银行利率最高以及未来走势,你很有必要先了解一下当前政策背景,否则也是瞎网上骂着特斯拉,手里有钱却仍然选择它,咋看这种双面人现象?绝大多数都是水军,选择特斯拉的是消费者,不是一群人。骂特斯拉是为了表达自己的一种情怀,买特斯拉是发自内心的。这些人,就验证那句话,既想立牌坊,又想因为现实很诚实,特斯拉在设计,智能你觉得哪一款网游适合0氪党?我觉得是逆水寒。相信还有人存在这样的观点家里有矿啊玩逆水寒,个人感觉是网上玩家的戏称。其实,对于真正玩过逆水寒的玩家们来说,玩过才知道游戏到底要不要钱。作为一个老玩家,可以很肯定的年轻人,不要长期打工,不然等老了会后悔的你怎么看?在生活压力非常大的今天,很多人为了能拿到高工资,宁愿选择去加班,甚至很多年轻人一毕业就进入了工厂,而工厂一般都是两班倒,年轻人觉得自己年轻身体好,精力充足,根本不把加班放在眼里,甚
把自己变成更强与更值得爱的人,唯一的办法,便是好好地爱自己爱一般不会老,它存着是指亘古不变的火苗和不灭的辉煌,全球的出现,便以为养分。这是一个充满着爱的路上,可生存在这一世界里大家,却仍然仍在寻找爱情的足迹。找寻,到底谁是谁最后的归宿?磕人奋斗一生,最终的目的就是求得好死人来到这世上,奔波一生,或过得轰轰烈烈,或平淡无奇,最终的目的就是一个求得好死。古代的帝王,拥有四海,普天之下,莫非王土,但这些无所不能的帝王,有的从一出生就开始修陵墓,为的是求得人生没有如果陪你从脆弱到坚强,我会一直在在生活中,我们常听到这样的声音如果早知道这样,当初就不这样做了,要是当时早答应了,结局会不会因此而不同?只可惜,人生没有如果,只有结果和后果生活也容不得人老了才知道,这几种家庭内耗,原来是父母带来的俗语说家和万事兴,一个家庭唯有和睦共处,生活才会感到幸福美满,人人都会乐在其中。如果总是充满抱怨和争吵,那么就算家境富裕,不愁吃穿,也一样会感到苦闷无比。年轻的时候,也许我们涉世未拼命努力工作的动力源泉你拼命努力工作的动力是什么我是六零后的人,生在贫穷的年代,看贯了旁人的白眼,尝尽了人生酸甜苦辣,在花季的年龄没有机会,没有快乐,没有梦想,只有痛苦,心里唯一的念头就是勇敢的活下去,我来人间一趟人为什么是人?人有感情,所以是人!那人活着的意义到底是什么?对于普通人来说活着的意义可能只是把养我的人养到老,把我要养的人养到大!对于大心胸,大智慧的人来说他们活着的意义是改变世界泰山游记格律诗文登上泰山,是我多年的夙愿,2015年的夏天,工程项目把我带到了地齐鲁大地山东的荷泽,距泰山近在咫尺。夏日里的一天,我们驱车朝着向往已久的泰山进发。在前往泰安城的路上,沿街看拒绝签约,再见篮网!他让杜兰特受益匪浅,但你问题出在自己身上几乎没有人能想到,篮网在经历了无比混乱且动荡的一周之后,他们可以度过一个完美的周末。两场团队式的胜利让篮网全队上下有了喘息的机会,欧文的闹剧从比赛哨声响起之后被抛到了脑后,西蒙斯缺鸿蒙智联生态蓬勃发展,成为个人智能化与空间智能化的底座11月4日,第四届华为开发者大会(Together)拉开帷幕。本届大会以创新照见未来为主题,汇聚智能家居智慧办公影音娱乐智慧出行运动健康五大场景下的创新体验。在大会主题演讲上,华为视频超燃!6年,这组数据诠释比亚迪崛起视频加载中视频超燃!6年,这组数据诠释比亚迪龙头崛起不经意间,在10月的中国新能源汽车市场,比亚迪的销量已接近特斯拉中国的3倍。11月3日晚间,比亚迪发布的10月产销快报显示,10贸易数字化促进跨境电商发展论坛在第五届进博会举办中国小康网讯记者金朝晖上海报道11月7日,第五届中国国际进口博览会配套现场活动2022贸易数字化促进跨境电商发展论坛在上海国家会展中心举办,论坛由中国电子商会联合国国际贸易中心联合
友情链接:快好知快生活快百科快传网中准网文好找聚热点快软网