看过来,这里有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)核心技术与应用实践

飞桨(PaddlePaddle)核心技术与应用实践


百度胡晓光:飞桨(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++后端等。并以房价预测和生成计算图为例进行了详细的讲解。


百度胡晓光:飞桨(PaddlePaddle)核心技术与应用实践

飞桨新特性包括业界首个视频分类模型库、语义表示模型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)。更多精彩内容请关注视频分享。


百度胡晓光:飞桨(PaddlePaddle)核心技术与应用实践

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技术干货?的主要内容,如果未能解决你的问题,请参考以下文章

看完深入浅出的Javascript,简单写下

中科院赵军:知识图谱关键技术及其在推荐系统中的应用

干货PHP新手看过来,有适合你们的开发工具

后期博客将更换平台更新,小伙伴们看过来

复旦大学黄萱菁:自然语言处理中的表示学习

如何配置Docker网络的Bridge模式?看这里