您好,登录后才能下订单哦!
您应该为您的机器学习或深度学习项目选择哪种编程语言?这些是你最好的选择
前言
你应该学习哪种编程语言来探究人工智能的深度?当然,你会想要一种有很多好的机器学习和深度学习库的语言。它还应该具有良好的运行时性能、良好的工具支持、庞大的程序员社区和健康的支持包生态系统。这仍然会留下很多好的选择。
下面是我为人工智能开发选择的五种最佳编程语言,以及三个值得尊敬的提到。其中一些语言正在崛起,而另一些似乎在下滑。几个月后再来,你可能会发现这些排名已经改变了。
1。python
第一,是python。怎么会是别的呢,真的?虽然关于python有一些令人发狂的事情,比如whitespacing,python 2.x和python 3.x之间的巨大分割,这五种不同的打包系统都以不同的方式被破坏,如果你在做人工智能的工作,你几乎肯定会在某个时候使用python。
Python中可用的库在其他语言中几乎是无与伦比的。numpy已经变得无处不在,它几乎是张量操作的标准API,pandas将r的强大而灵活的数据帧带到了python上。对于自然语言处理(NLP),您拥有值得尊敬的NLTK和极快的SPAcy。对于机器学习,有经过战斗测试的SciKit学习。当涉及到深度学习时,所有当前的库(TensorFlow、PyTorch、Chainer、ApacheMXnet、Theano等)实际上都是Python第一个项目。
如果您正在阅读关于arxiv的前沿深入学习研究,那么几乎可以肯定,您将在python中找到源代码。然后是Python生态系统的其他部分。虽然ipython已经成为jupyter笔记本,并且不再以python为中心,但您仍然会发现大多数jupyter笔记本用户以及大多数在线共享的笔记本都使用python。
这是无法回避的。python是人工智能研究的前沿语言,是你能找到的机器学习和深度学习框架最多的语言,也是人工智能世界中几乎所有人都会说的语言。出于这些原因,Python是人工智能编程语言中的第一个。
看个人简介
2. Java and friends
JVM语言系列(Java、Scala、Kotlin、Culjule等)也是AI应用程序开发的一个很好的选择。无论是自然语言处理(corenlp)、张量操作(nd4j)还是完整的GPU加速深度学习堆栈(dl4j),您都可以为管道的所有部分提供大量的库。此外,您还可以轻松访问大型数据平台,如ApacheShark和ApacheHadoop。
Java是大多数企业的通用语言,随着Java 8和Java 9中可用的新语言构造,编写Java代码并不是我们许多人所记得的可恶的经历。在JAVA编写AI应用程序可能会觉得无聊,但它可以完成任务,并且可以使用所有现有的Java基础设施进行开发、部署和监控。
三。C/C++
当开发一个AI应用程序时,C/C++不太可能成为你的首选,但是如果你在一个嵌入式环境中工作,而你负担不起Java虚拟机或Python解释器的开销,C/C++就是答案。当您需要从系统中挤出最后一点性能时,那么您需要返回到可怕的指针世界。
值得庆幸的是,现代C/C++可以写得很好(诚实!).你有多种方法可供选择。您可以潜入栈底,使用CUDA之类的库来编写直接在GPU上运行的代码,也可以使用TensorFlow或CAffe来访问灵活的高级API。后者还允许您导入您的数据科学家可能用Python构建的模型,然后以C/C++提供的所有速度在生产中运行它们。
留意锈病rust在未来的一年里会对这个领域产生什么影响。将C/C++的速度与类型和数据安全相结合,在不产生安全性头痛的情况下,RISE是实现生产性能的一个很好的选择。已经有了TensorFlow绑定。
4。JavaScript
JavaScript?到底发生了什么?好吧,谷歌最近发布了TensorFlow.js,一个WebGL加速库,允许你在你的网络浏览器中训练和运行机器学习模型。它还包括KerasAPI以及加载和使用在常规TensorFlow中培训过的模型的能力。这可能会吸引大量开发者涌入人工智能领域。虽然javascript目前无法像这里列出的其他语言一样访问机器学习库,但很快开发人员将在他们的网页中添加神经网络,其冷漠程度与添加React组件或CSS属性的程度几乎相同。
TensorFlow.js仍处于早期阶段。目前它在浏览器中工作,但不在node.js中工作。它还没有实现完整的TensorFlow API。不过,我预计这两个问题都将在2018年底前得到解决,随后很快就会有javascript入侵人工智能。
5。R
R位于前五名的底部,并呈下降趋势。R是数据科学家喜欢的语言。然而,由于R的数据帧中心方法,其他程序员在第一次遇到它时会觉得有点困惑。如果您有一组专门的R开发人员,那么使用与TensorFlow、Keras或H2O的集成进行研究、原型设计和实验是有意义的,但是由于性能和操作方面的考虑,我不愿意推荐R用于生产用途。虽然您可以编写可部署在生产服务器上的性能R代码,但几乎可以肯定的是,使用R原型并在Java或Python中重新编码它是更容易的。
图文来自网络:侵删
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。