前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Julia 对决Python:谁能在2019年称霸机器学习编程?

Julia 对决Python:谁能在2019年称霸机器学习编程?

作者头像
新智元
发布2018-12-26 11:12:01
8790
发布2018-12-26 11:12:01
举报
文章被收录于专栏:新智元新智元


新智元报道

来源:techrepublic

作者:Nick Heath 编辑:木青

【新智元导读】在发布1.0版本后,Julia团队现在希望让它成为机器学习领域的首选语言。同时,Python和R语言通常在机器学习中占主导地位,在开发人员普及方面,Python仍然是增长最快的编程语言。

Julia成为2018年发展最快的编程语言之一,因为它结合了几种主要语言的优势而备受推崇。

同时,Python依然在使用范围方面占据着巨大优势,并且热度一直保持着上升趋势。

那么,哪种编程语言将在2019年统治机器学习?来看下分析吧。

Julia风头正劲,适合制作可微分算法

首先来看看风头正劲的Julia。

Julia于2012年发布,由麻省理工学院(MIT)的计算机科学和人工智能实验室(CSAIL)开发和孵化,是一种免费的开源语言。

目前,Julia已经推出1.0版本,Julia现在有希望成为机器学习(ML)领域的首选语言。麻省理工学院教授Alan Edelman说:“Julia 1.0的发布标志着Julia现在已经准备好通过将Python和R语言的高效率和易用性与C ++的闪电般速度相结合来改变技术世界。”

能帮助Julia实现这一目标的是Flux,这是一款面向Julia的机器学习软件库,旨在使ML代码更易于编写,同时简化训练流程,并且与竞争框架相比,能提供在GPU和Google TPU等硬件加速器上的某些性能优势。

Julia背后的团队表示,他们的语言非常适合制作可微分算法——这是一种程序性的、数据驱动的代码,可用于构建机器学习中使用的神经网络。

Julia团队在博客文章中写道:

我们需要一种语言来编写可区分的算法,而Flux将帮助Julia成为满足这类需求的语言。 Julia非常适合用于数学和数值计算,并且非常适合表达ML算法。同时,它融合了现代设计和编译器中的新思想,可以更容易满足前沿的高性能需求。

根据Julia团队的博客文章,Flux库使用各种专注ML工具扩展了Julia的编译器,从而支持一流梯度,在性能和开发人员控制之间取得更好的平衡;为GPU及时进行CUDA内核编译,在训练期间进行自动批量处理,以减少开销;在Google TPU上进行优化运行。

该团队表示,Flux支撑下的Julia,以及即将推出的可分辨编程语言Myia和最近的Swift for Tensorflow,可能很快就会挑战既定的机器学习框架和方法。

在Julia今年早些时候发布1.0版后,该语言的用户对于它的进展情况总体上是持乐观态度的,尽管有些人仍然担心它会发生错误的处理状态,或者产生无用文档。

好上手的Python仍是王者,使用范围上占据绝对优势

但Julia任重而道远。

如今,Python和R语言通常在机器学习中占主导地位,在开发人员普及方面,Python仍然是增长最快的编程语言,这在很大程度上取决于其机器学习框架和库的优势。相比之下,只有相对较小比例的开发人员使用刚刚起步的Julia。

Python在使用范围方面的确占据着绝对优势。

当前的机器学习热潮推动了学习Python的开发人员数量急剧增加。除了在大数据分析中使用该语言外,Python的多功能性在其使用范围内的优势也很明显,从Web和桌面应用程序到编排系统操作。

软件质量评估公司TIOBE的数据显示,2018年12月,Python超越C++成为TIOBE索引排行的第三名,这对于Guido van Rossum的脚本语言来说是历史最高水平。

TIOBE网站12月编辑语言索引数据

TIOBE还强调了Python在教学中日益增长的用途:2014年,Python成为70%美国大学的入门编程课程。

Python的确有很多优势:Python代码相对易于阅读和理解,支持多种编程范例,具有可以放入代码的各类软件库,并且能扩展到大型应用程序。网上还有很多高质量的免费教程、课程和视频,这很有利于传播。

Python一直被认为是最容易学习的编程语言之一,并且以其高可靠性和简单的语法而闻名,特别是新编码器。

“我认为,Python是最接近'即时满足语言'的语言,意思是代码非常少,即使你是一名新手程序员也能学会,”IEEE研究员兼研究生工程院院长Karen Panetta说“这是因为Python读起来像英语,这使得它更有利于广大用户受众学习。”

新语言层出不穷,支撑机器学习发展

Julia团队表示编程语言的发展绝对不会止步于此,并且语言的发展会对机器学习起着重要的作用。

我们相信机器学习的未来取决于语言和编译器技术,特别是在扩展新的或现有的语言以满足机器学习研究的高要求时。 支持差异化、矢量化、不同硬件和文化差异的语言将推动科学的大幅进步。

Julia团队说:“比起那些新一代的工具 Myia、Swift/TF和Flux,TensorFlow、PyTorch和KNET是为现有框架所准备的。”

不过,将来那些新一代的工具很有可能派上用场。“如果你在ML中取得新的突破,他们可能是你最好的选择。给他们一个机会,看看机器学习的未来是什么样的。”

据LinkedIn称,机器学习工程师是从2017年起的五年内发展最快的工作类别,并且有越来越多的免费课程可供想要专攻该领域的开发人员使用。

身为开发者的你,更看好哪种语言呢?

参考链接:

https://www.techrepublic.com/article/julia-vs-python-which-programming-language-will-rule-machine-learning-in-2019/

https://www.tiobe.com/tiobe-index/


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【新智元导读】在发布1.0版本后,Julia团队现在希望让它成为机器学习领域的首选语言。同时,Python和R语言通常在机器学习中占主导地位,在开发人员普及方面,Python仍然是增长最快的编程语言。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档