您好,欢迎来到12图资源库!分享精神,快乐你我!我们只是素材的搬运工!!
  • 首 页
  • 当前位置:首页 > 开发 > WEB开发 >
    技术趋向:2019,人工智能开发的5种最佳编程言语
    时间:2018-12-28 21:04 来源:网络整理 作者:网络 浏览:收藏 挑错 推荐 打印

    技术趋向:2019,人工智能开发的5种最佳编程言语

    导引

    AI(人工智能)为运用顺序开发人员翻开了一个充溢能够性的世界。 经过应用机器学习或深度学习,您可以生成更好的用户画像、特性特征和适当引荐,或许包含更智能的搜索、语音接口或智能辅佐,或许以其他方式改良您的运用顺序。 您甚至可以构建能看、会听并照应的运用顺序。

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

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

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

    一、AI编程首选

    1.Python

    排名第一的是Python。 怎样能够是别的,真的吗? 虽然有一些关于Python的令人抓狂的事情 ——空格、Python 2.x和Python 3.x之间的严重分裂、五种不同的打包系统,它们都将不是成绩——假设你正在停止AI任务,你简直一定会 在某些时分运用Python。

    Python中提供的库在其他言语中简直是无与伦比的。 NumPy曾经变得如此普遍,它简直是张量操作的标准API,而Pandas将R弱小而灵敏的数据帧带入Python。 关于自然言语处置(NLP),您拥有令人尊崇的NLTK和极端快速的SpaCy。 关于机器学习,有经过实战考验的Scikit-learn。 当触及到深度学习时,一妥以后的库(TensorFlow,PyTorch,Chainer,Apache MXNet,Theano等)都是有效的Python优先项目。

    假设您正在阅读关于arXiv的尖端深度学习研讨,那么简直可以一定您会在Python中找到源代码。 然后是Python生态系统的其他部分。虽然IPython已成为Jupyter Notebook,而不是以Python为中心,但您仍会发现大少数Jupyter Notebook用户以及大少数在线共享的笔记本都运用Python。

    没法绕过它。 Python是人工智能研讨的最前沿言语,是你能找到最多的机器学习和深度学习框架的言语,也是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++不太能够是您的首选,但假设您在嵌入式环境中任务,并且无法担负Java虚拟机或Python解释器的开支,那么C/C++就是处置之道。当你需求从系统中获取最后一点功用时,你需求回到可怕的指针世界。

    值得庆幸的是,现代的C/C++写起来还是很愉快的(老实之言!)。 详细办法你是有的选择的——您可以深化了解堆栈底部,运用CUDA等库来编写直接在GPU上运转的代码,也可以运用TensorFlow或Caffe来拜访灵敏的初级API。 后者还允许您导入数据迷信家能够运用Python构建的模型,然后以C/C++提供的一切速度在消费中运转它们。

    请留意Rust在未来一年中在这个范围所做的事情。 结合C/C++的速度与类型和数据安全性,Rust是完成消费功用的绝佳选择,而不会产生安全成绩。 并且对Rust来说,TensorFlow绑定曾经可用了。

    4.JavaScript

    JavaScript? 究竟几个意思? 淡定,听我说说——Google最近发布了TensorFlow.js,这是一个WebGL减速库,允许您在Web阅读器中训练和运转机器学习模型。 它还包括Keras API以及加载和运用在常规TensorFlow中训练的模型的才能。 这能够会吸引少量开发人员涌入AI范围。 虽然JavaScript目前没有与此处列出的其他言语相反的机器学习库拜访权限,但很快开发人员将在他们的网页中添加神经网络,与添加React组件或CSS属性简直相反。真是即赋予权利有让人震恐。

    TensorFlow.js仍处于早期阶段。 目前它在阅读器中有用,但在Node.js中不起作用。 它还没有完成残缺的TensorFlow API。 但是,我估量这两个成绩将在2018年底之前失掉处置,尔后不久JavaScript将对人工智能停止入侵。

    5.R

    R进入前五名的底部,并且趋向向下。 R是数据迷信家喜欢的言语。 但是,由于其以数据帧为中心的办法,其他顺序员在第一次遇到R时会发现R有点混乱。 假设你有一个专门的R开发人员小组,那么运用与TensorFlow,Keras或H2O的集成停止研讨,原型设计和实验是有意义的,但由于功用和操作成绩,我不情愿引荐R用于消费用途 。 虽然您可以编写可以部署在消费效劳器上的高功用R代码,但是运用该R原型并运用Java或Python重新编写它简直一定会更容易。

    二、其它AI编程

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

    1.Lua

    几年前,Lua在人工智能范围处于抢先位置。 运用Torch框架,Lua是最盛行的深度学习开发言语之一,你依然会在GitHub上遇到很多历史深度学习任务,用Lua/Torch定义模型。 我以为,为了研讨和查看人们以前的任务,熟习Lua是个好主意。 但随着TensorFlow和PyTorch这样的框架的到来,Lua的运用已大幅增加。

    2.Julia

    Julia是一种高功用的编程言语,专注于数值计算,这使得它十分适宜“数学繁重”的AI世界。 虽然如今不是那种盛行的言语选择,但像TensorFlow.jl和Mocha(受Caffe影响很大)这样的包装器提供了良好的深度学习支持。 假设你不介意那里还没有一个庞大的生态系统,但是希望从其专注于使高功用计算变得容易和迅速的进程中获益,这是个不错的选择。

    3.Swift

    (责任编辑:admin)