看过来,这里有JavaScript技术干货?
Posted 北大青鸟天府校区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了看过来,这里有JavaScript技术干货?相关的知识,希望对你有一定的参考价值。
今天是一篇正经的技术分享,针对javascript技能的十来个专业小技巧,如果你想提升一下JS方面的能力成为一个更好的前端开发人员,那么就可以接着看下去哦。
1、使用逻辑运算符进行短路评估
您可以使用逻辑运算符进行短路评估,方法是使用 && 运算符返回表达式链中的第一个假值或最后一个真值,或者使用 || 运算符返回表达式链中的第一个真值或最后一个假值。
1.const dogs = true;
2.
3.
4.// nooby
5.if (dogs)
6. runAway();
7.
8.
9.
10.// pro
11.dogs && runAway()
12.
13.
14.function runAway()
15. console.log('You run!');
16.
2. 对象键维护它们的插入顺序
对象键通过遵循一个简单的规则来维护它们的插入顺序:类整数键按数字升序排序,而非类整数键根据它们的创建时间排序。
1.const character =
2. name: "Arthas",
3. age: 27,
4. class: "Paladin",
5. profession: "Lichking",
6.;
7.
8.
9.// name age class profession
10.console.log(Object.keys(character));
3. 理解 JavaScript 中的 Truthy 和 Falsy 值
在布尔上下文中使用时,Truthy 和 Falsy 值会隐式转换为 true 或 false。
虚假值 => false, 0, ""(空字符串), null, undefined, &NaN
真值 => "Values", "0", (空对象),&[](空数组)
1.// pro
2.if(![].length)
3. console.log("There is no Array...");
4. else
5. console.log("There is an Array, Hooray!");
6.
7.
8.
9.if(!"")
10. console.log("There is no content in this string...");
11. else
12. console.log("There is content in this string, Hooray!");
13.
4. 使用 XOR 运算符比较数字
按位异或运算符 (^) 对两个操作数执行按位异或运算。这意味着如果位不同则返回 1,如果相同则返回 0。
1.const a = 1337;
2.const b = 69;
3.
4.
5.// nooby
6.a !== 69 ? console.log('Unequal') : console.log("Equal"); // Unequal
7.b !== 69 ? console.log('Unequal') : console.log("Equal"); // Equal
8.
9.
10.// pro
11.a ^ 69 ? console.log('Unequal') : console.log("Equal"); // Unequal
12.b ^ 69 ? console.log('Unequal') : console.log("Equal"); // Equal
5. 使用对象中的动态属性
1.// nooby
2.let propertyName = "body";
3.let paragraph =
4. id: 1,
5.;
6.paragraph[propertyName] = "other stringy";
7.// id: 1, body: 'other stringy'
8.console.log(paragraph)
9.
10.
11.// pro
12.let propertyName = "body";
13.let paragraph =
14. id: 1,
15. [propertyName] : "other stringy"
16.;
17.// id: 1, body: 'other stringy'
18.console.log(paragraph)
6. 轻松消除数组中的重复值
您可以使用集合消除数组中的重复值。
1.// nooby
2.let answers = [7, 13, 31, 13, 31, 7, 42];
3.let leftAnswers = [];
4.let flag = false;
5.for (i = 0; i< answers.length; i++)
6. for (j = 0; j < leftAnswers.length; j++)
7. if (answers[i] === leftAnswers[j])
8. flag = true;
9.
10.
11. if (flag === false)
12. leftAnswers.push(answers[i]);
13.
14. flag = false;
15.
16.//[ 7, 13, 31, 42 ]
17.console.log(leftAnswers)
18.
19.
20.
21.
22.// pro
23.let answers = [7, 13, 31, 13, 31, 7, 42];
24.let leftAnswers = Array.from(new Set(answers));
25.// [ 7, 13, 31, 42 ]
26.console.log(leftAnswers)
以上是关于JavaScript的一些技巧分享,编写好的代码可以直接用哟。了解更多技术干货可以持续关注我们!
百度胡晓光:飞桨(PaddlePaddle)核心技术与应用实践
不到现场,照样看最干货的学术报告!
嗨,大家好。这里是学术报告专栏,读芯术小编不定期挑选并亲自跑会,为大家奉献科技领域最优秀的学术报告,为同学们记录报告干货,并想方设法搞到一手的PPT和现场视频——足够干货,足够新鲜!话不多说,快快看过来,希望这些优秀的青年学者、专家杰青的学术报告 ,能让您在业余时间的知识阅读更有价值。
人工智能论坛如今浩如烟海,有硬货、有干货的讲座却百里挑一。“AI未来说·青年学术论坛”系列讲座由中国科学院大学主办,百度全力支持,读芯术作为合作自媒体。承办单位为中国科学院大学学生会,协办单位为中国科学院计算所研究生会、网络中心研究生会、人工智能学院学生会、化学工程学院学生会、公共政策与管理学院学生会、微电子学院学生会。“AI未来说·青年学术论坛”第六期“机器学习”专场已于2019年6月23日下午在中科院举行。百度胡晓光为大家带来报告《飞桨(PaddlePaddle)核心技术与应用实践》。
胡晓光全场报告视频
胡晓光,百度深度学习技术平台部主任架构师。2006年毕业于哈尔滨工业大学,2010年加入百度参与百度机器翻译方向的研发工作,2011年研发并上线了具有大数据处理能力、快速、稳定的基于统计的在线翻译系统,依托海量的互联网数据资源和自然语言处理技术,该系统的中文相关的翻译质量处于业界领先水平。2015年带领团队上线全球首个基于深度学习的在线翻译引擎,率先实现了从统计机器翻译到神经网络机器翻译的技术升级,翻译质量取得了大幅提升。参与的项目“基于大数据的互联网机器翻译核心技术及产业化”获得2015年度国家科技进步二等奖。2018年转入百度深度学习技术平台部,参与百度自研深度学习框架飞桨(PaddlePaddle)的研发工作,带领团队开发了数十个NLP、CV等领域的前沿算法,并解决框架的稳定性、效率、易用性等问题,致力于打造最好用的深度学习平台,服务广大AI开发者,助力我国人工智能行业的蓬勃发展。
报告内容:深度学习框架的出现极大地推动了深度学习技术的发展,比如:传统方法需要几万行代码才能完成的翻译系统,通过使用深度学习框架,只需要两千行代码就可以完成;一个前沿算法的提出,通常只需要在基线上改动几十行代码。本次报告将介绍当前国内唯一自主研发、开源开放的深度学习框架——飞桨(PaddlePaddle)的核心技术,对比业界同类产品所具有的优势,以及在NLP、CV等领域前沿算法的应用实践情况。
飞桨(PaddlePaddle)核心技术与应用实践
胡晓光老师的报告主要包含四个方面,分别为飞桨总体介绍、飞桨核心框架、飞桨新特性和飞桨模型应用。胡晓光老师首先讲了人工智能技术的发展史,从1950年的图灵测试到现在的深度学习技术,主要经历了三个阶段,分别为逻辑推理、专家系统、机器学习/深度学习。提及深度学习技术企业应用流程,他讲到应该先确立业务应用目标,即先定位问题,再明确指标,然后进行数据采集和处理以及算法搭建,接着进行训练调优,最后预测部署。这一过程离不开具备官方支持算法、并行分布式计算以及基于高性能推理引擎的深度学习框架的支持。在介绍飞桨的全景图之前,先讲了飞桨的演进过程:由飞桨基础框架到飞桨实验平台,最后到飞桨深度学习全功能套件,进而包括展示了包括由服务平台、核心框架和模块及组件三个部分组成的飞桨全景图。
接着从飞桨支持的三大AI场景(建模、训练和服务)出发,讲到了飞桨的核心框架。该核心框架由组网模块、模型训练、模型表达与优化和PaddleServing等模块组成。其中,组网模块包含Python API;模型训练模块包含训练Runtime和CPU/GPU;模型表达与优化模块包含模型Program、统一中间表达和中间表达优化;PaddleServing模块包含服务器预测库API、预测库Runtime、移动端预测库API和移动端预测库RunTime。Python API由底层和顶层构成,底层包含组网类底层API和执行类底层API。组网类底层API的作用为通用、控制、计算和优化等,而执行类底层API的作用为训练、预测和分布式等。顶层支持CV模型、NLP模型、推荐模型和语音模型等。
然后又讲到了执行规划好的计算过程、用户和框架的分工以及飞桨架构图。计算过程主要包含编译时(CompileTime)和运行时(RunTime)两个过程。用户和框架的分工包含两个阶段,即构建阶段和执行阶段。飞桨的架构包含Python前端和C++后端等。并以房价预测和生成计算图为例进行了详细的讲解。
飞桨新特性包括业界首个视频分类模型库、语义表示模型ERNIE、分布式训练性能大幅提升、服务部署能力、模型压缩能力和强化学习PARL等。
飞桨支持高性能推理引擎,部署功能全面,具有多平台部署能力,可以部署在Paddle服务器、PaddleMobile和Paddle Anywhere等平台上。百度产品线验证的飞桨Serving框架,具有完备的在线服务能力、硬件设备支持完备、内置支持模型和批量预测的功能。此外还具有预测引擎优化、移动端预测引擎高速和AutoDL网络结构自动设计等特性。
飞桨支持百度scale的全功能并行分布式训练。经过了百度数据规模验证,每天要支持百亿级别训练日志规模,包括手百Feed流推荐排序、Feed广告排序、百度翻译机器翻译和好看APP个性化召回等。支持稠密参数和稀疏参数任务:大规模稠密参数的任务包含图像分类、机器翻译等计算密集度高的任务,参数的同步方式为同步Collective操作,GPU并行训练速度在主流任务表现优异;超大规模稀疏参数的任务包含CTR预估、语义匹配等数据吞吐量大的任务,参数同步方式为异步大规模稀疏参数服务器,CPU超大规模异步训练独具特色,支持千亿规模参数、数百节点并行训练。具有全功能分布式训练能力,具备CPU/GPU并行,同步、异步更新,多种通信方式的功能,是大规模稀疏参数服务器的Benchmark。
在讲飞桨模型应用时,先讲了飞桨全面的官方支持模型库,使用场景主要分为三大类,即智能推荐(PaddleRec)、智能视觉(PaddleCV)和智能文本处理(PaddleNLP),具体的使用场景有信息流、智能营销、视频分析、医学影像、智能驾驶、工业质检、舆情分析、搜索引擎、机器翻译和智能对话等。模型集合了图像分类、目标检测、人脸检测、图像语义分割、语义匹配和机器翻译等常见的模型。常见的应用案例有百度feed、好看视频、百度地图、百度OCR、百度糯米、百度搜索和百度翻译等。
PaddleCV支持的子领域有图像分类、目标检测、人脸检测、场景文字识别、关键点检测、语义分割、度量学习、图像生成和视频分类等,支持各个子领域的主流算法以及一些百度自研的算法,其中,部分算法还有预训练的模型。并以人脸检测算法PyramidBox和视频分类库支持算法为例进行了详细的说明。
PaddleNLP支持的子领域为词法分析LAC,语言模型、语义表示、语义匹配、情感倾向分析、阅读理解、机器翻译和语音识别等,支持LSTM、GRU、BERT和Transformer等常见NLP算法以及一些百度的自研算法,其中,部分算法还有预训练的模型。并以语义表示模型ERNIE和机器翻译Transformer模型为例进行了详细的讲解。
在具体的应用方面,胡晓光老师分享了红脂大小蠹虫情监测系统(AI 识虫)和精密零件智能分拣的案例。前者使用的技术为SSD目标检测算法,产品功能为通过目标检测模型识别红脂大小蠹虫,远程检测病虫害情况,产品价值包括小时级数据回传与检测,检测效率大幅提升,而传统方法专业人员需要深入林场,每周检测一次。后者使用的技术为ICnet语义分割模型,产品功能为通过语义分割模型识别精密零件瑕疵,实现自动分拣,应用价值为应用深度学习技术,只需要提供标注好的样本数据,可快速完成一个新零件或新缺陷的识别。同时大幅提升分拣效率和精度。误收率0.1%(5%误识情况下)。
此外,飞桨在其他的行业应用中也起到了很大的作用,与合作伙伴一起帮助越来越多的行业完成AI能力赋能,如农业,智能桃子分拣机节约90%的人力成本;林业,病虫害监测识别率达到90%;工业,公共场所控烟;零售,商品销量预测单店生鲜报损降低30%;人力,AI建立匹配系统5倍面邀成功率;制造,智能零件分拣人工效率增加1倍;石油,地震波藏油预测;通讯,基站网络故障预警;地产,智能楼宇管理制冷系统节电20%;汽车,充电桩故障预警准确率达90%。
最后,胡晓光老师介绍了如何使用飞桨,向大家推荐了飞桨的网站、文档、项目github、模型库和教程。如果有想使用飞桨的模型库来开发程序的小伙伴,可以看一下干货满满的模型库的网站(https://github.com/paddlepaddle/models)。更多精彩内容请关注视频分享。
AI未来说*青年学术论坛
第一期 数据挖掘专场
1.
2.
3.
4.
5.
第二期 自然语言处理专场
1.
2.
3.
4.
5.
第三期 计算机视觉专场
1.
2.
3.
4.
5.
第四期 语音技术专场
1.
2.
3.
4.
5.
第五期 量子计算专场
1.
2.
3.
4.
5.
我们一起分享AI学习与发展的干货
推荐文章阅读
读芯君爱你
以上是关于看过来,这里有JavaScript技术干货?的主要内容,如果未能解决你的问题,请参考以下文章