<delect id="xdj5x"><menu id="xdj5x"></menu></delect>
<sup id="xdj5x"><label id="xdj5x"><nav id="xdj5x"></nav></label></sup>

    <em id="xdj5x"><tr id="xdj5x"></tr></em>

    <dd id="xdj5x"><tr id="xdj5x"><kbd id="xdj5x"></kbd></tr></dd>
    <div id="xdj5x"><ol id="xdj5x"></ol></div>

    分析人工智能系统开发的最佳编程语言趋势

    2019-02-26 10:27:56分类:行业资讯341

      AI(人工智能)为应用程序开发人员打开了一个充满可能性的世界。 通过利用机器学习或深度学习,您可以生成更好的用户画像、个性特征和适当推荐,或者包含更智能的搜索、语音接口或智能辅助,或者以其他方式改进您的应用程序。 您甚至可以构建能看、会听并响应的应用程序。

      你应该学习哪种编程语言来探究AI的深度? 当然,您需要一种具有许多良好机器学习和深度学习库的语言。 它还应具有良好的运行时性能、良好的工具支持、大型??程序员社区以及健康的支持包生态系统。 这仍然能留下很多好的选择。

      以下是我对人工智能开发的五种最佳编程语言的选择,以及三项荣誉提及。 其中一些语言正在崛起,而其他语言似乎正在下滑。 几个月后回来,没准你可能会发现这些排名发生了变化。

      那么,应该选择哪种编程语言进行机器学习或深度学习项目? 给你推荐五种最佳的编程语言选择。
     

    人工智能系统开发
     

      一、AI编程首选

      1.Python

      排名第一的是Python。 怎么可能是别的,真的吗? 虽然有一些关于Python的令人抓狂的事情 ——空格、Python 2.x和Python 3.x之间的重大分?#36873;?#20116;种不同的打包系统,它们都将不是问题——如果你正在进行AI工作,你几乎肯定会 在某些时候使用Python。

      Python中提供的库在其他语言中几乎是无与伦比的。 NumPy已经变得如?#20284;?#36941;,它几乎是张量操作的标准API,而Pandas将R?#30475;?#32780;灵活的数据帧带入Python。 对于自然语言处理(NLP),您拥有令人尊敬的NLTK和极其快速的SpaCy。 对于机器学习,有经过实战?#20339;?#30340;Scikit-learn。 当涉及到深度学习时,所有当前的库(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano等)都是有效的Python优先项目。

      如果您正在阅读关于arXiv的尖端深度学习研究,那么几乎可以肯定您会在Python中?#19994;?#28304;代码。 然后是Python生态系统的其他部分。虽然IPython已成为Jupyter Notebook,而不是以Python为?#34892;模?#20294;您仍会发现大多数Jupyter Notebook用户以及大多数在线共享的笔记本都使用Python。

      ?#29615;?#32469;过它。 Python是人工智能研究的最前沿语言,是你能?#19994;?#26368;多的机器学习和深度学习框架的语言,也是AI世界中几乎所有人都会说的。 出于这些原因,Python是人工智能编程语言中的第一个,尽管你的编码作者每天至少会诅咒一次空白问题。

      2.Java和他的朋友

      JVM家族系列语言(Java,Scala,Kotlin,Clojure等)也是AI应用程序开发的绝佳选择。 无论是自然语言处理(CoreNLP)、张量操作(ND4J)还是完整的GPU加速深度学习堆栈(DL4J),您都可以使用丰富的库来管理所有部分。此外,您还可以轻松访问Apache Spark和Apache Hadoop等大数据平台。

      Java是大多数企业的通用语言,Java 8和Java 9中提供了新的语言结构,编写Java代码并不是我们许多人记忆中的可憎体验。 用Java编写AI应用程序可能会让人觉得无聊,但它可以完成工作 - 您可以使用所有现有的Java基础架构进行开发、部署和监视。

      3.C/C++

      在开发AI应用程序时,C/C++不太可能是您的首选,但如果您在?#24230;?#24335;环境中工作,并且无法负担Java虚拟机或Python解释器的开销,那么C/C++就是解决之道。当你需要从系统中获取最后一点性能时,你需要回到可怕的指针世界。

      值?#20204;?#24184;的是,现代的C/C++写起来还是很愉快的(诚实之言!)。 具体方法你是有的选择的——您可以深入了解堆栈底部,使用CUDA等库来编写直接在GPU上运行的代码,也可以使用TensorFlow或Caffe来访问灵活的高级API。 后者还?#24066;?#24744;导入数据科学家可能使用Python构建的模型,然后以C/C++提供的所有速度在生产?#24615;?#34892;它们。

      请留意Rust在未来一年?#24615;?#36825;个领域所做的事情。 结合C/C++的速度与类型和数据安全性,Rust是实现生产性能的绝佳选择,而不会产生安全问题。 并且对Rust来说,TensorFlow绑定已经可用了。

      4.JavaScript

      JavaScript? 到底几个意思? 淡定,听我说说——Google最近发布了TensorFlow.js,这是一个WebGL加速库,?#24066;?#24744;在Web浏览器中训练和运行机器学习模型。 它还包括Keras API以及加载和使用在常规TensorFlow中训练的模型的能力。 这可能会吸引大量开发人员涌入AI领域。 虽然JavaScript目前没有与此处列出的其他语言相同的机器学习库访问权限,但很快开发人员将在他们的网页中添加神经网络,与添加React组件或CSS属性几乎相同。真是即赋予权力有让人震?#24103;?/span>

      TensorFlow.js仍处于早期阶段。 目前它在浏览器中有用,但在Node.js中不起作用。 它还没有实现完整的TensorFlow API。 但是,?#20197;?#35745;这两个问题将在2018年底之前得到解决,此后不久JavaScript将对人工智能进行入?#24103;?/span>

      5.R

      R进入前五名的底部,并且趋势向下。 R是数据科学家喜爱的语言。 但是,由于其以数据帧为?#34892;?#30340;方法,其他程序员在第一次遇到R时会发现R有点混乱。 如果你有一个专门的R开发人员小组,那么使用与TensorFlow,Keras或H2O的集成进行研究,原型设计和实验是有意义的,但由于性能和操作问题,我不愿意推荐R用于生产用途 。 虽然您可以编写可以部署在生产服务器?#31995;母?#24615;能R代码,但是使用该R原型并使用Java或Python重新编写它几乎肯定会更容易。
     

    人工智能系统开发
     

      二、其它AI编程

      当然,Python,Java,C/C++,JavaScript和R并不是唯一可用于AI编程的语言。 让我们来看看其它三种编程语言,这些语言并没有完全进入我们的前五——二上升,一下降。

      1.Lua

      ?#25913;?#21069;,Lua在人工智能领域处于领先地位。 使用Torch框架,Lua是最流行的深度学习开发语言之一,你仍然会在GitHub上遇到很多历史深度学习工作,用Lua/Torch定义模型。 我认为,为了研究和查看人们以前的工作,熟悉Lua是个好主意。 但随着TensorFlow和PyTorch这样的框架的到来,Lua的使用已大幅减少。

      2.Julia

      Julia是一种高性能的编程语言,专注于数值计算,这使得它非常适合“数学繁重”的AI世界。 虽然现在不是那?#33267;?#34892;的语言选择,但像TensorFlow.jl和Mocha(受Caffe影响很大)这样的包装器提供了良好的深度学习支持。 如果你不介意那里还没有一个庞大的生态系统,但是希望从其专注于使高性能计算变得容易和迅速的过程中获益,这是个不错的选择。

      3.Swift

      正如我们要推出的那样,LLVM编译器和Swift编程语言的创建者Chris Lattner宣布推出Swift for TensorFlow,该项目承诺将Python提供的易用性与速度和静态类型检查相结?#31995;?#32534;译型语言。 作为奖励,Swift for TensorFlow还?#24066;?#24744;导入Python库(如NumPy)并在Swift代码中使用它们,就像使用任何其他库一样。

      现在,Swift for Tensorflow目前处于开发的早期阶段,但是能够编写现代编程结构并获得速度和安全性的编译时保证,确实是一个诱人的前景。 即使你还没出去学习Swift,我也建议你留意这个项目。

    上一篇:下一篇: