慧聪安防网

用于AI开发的5种最佳编程语言

http://www.secu.hc360.com2018年05月17日09:12 来源:高效码农T|T

    慧聪安防网讯

用于AI开发的5种最佳编程语言

    AI(人工智能)为应用程序开发人员开创了一个全新的可能性。通过利用机器学习或深度学习,您可以生成更好的用户配置文件,个性化设置和建议,或者整合更智能的搜索,语音界面或智能帮助,或者改进您的应用程序的任何其他方式。你甚至可以构建看,听,并作出反应的应用程序。

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

    下面是我选择AI开发的五种最佳编程语言。其中一些语言正在兴起,而其他语言似乎正在滑落。几个月后回来,你可能会发现这些排名已经发生了变化。

    1.Python

    第一,它是Python。它怎么可能是其他的,真的吗?尽管有令人生气的关于Python的东西-空格,Python2.x和Python3.x之间的巨大差异,五种不同的打包系统都以不同的方式打破了-如果你正在做AI工作,你几乎肯定会在某些时候使用Python。

    Python中可用的库在其他语言中几乎是无与伦比的。NumPy已经变得如此无处不在,它几乎是张量操作的标准API,Pandas将R的强大而灵活的数据框带入Python。对于自然语言处理(NLP),您拥有令人尊敬的NLTK和快速的SpaCy。对于机器学习,有经过测试的Scikit-learn。而且,当涉及到深学习,目前所有的库(的TensorFlow,PyTorch,Chainer,阿帕奇MXNet,Theano等)是有效的Python的第一个项目。

    如果您正在阅读关于arXiv的尖端深度学习研究,那么您几乎可以肯定会在Python中找到源代码。然后还有Python生态系统的其他部分。虽然IPython已经成为JupyterNotebook,并且以Python为中心,但您仍然会发现绝大多数JupyterNotebook用户以及大多数在线共享的笔记本都使用Python。

    没有绕过它。Python是人工智能研究的前沿语言,这是您可以找到机器学习和深度学习框架最多的语言,也是人工智能领域几乎所有人都会说的语言。由于这些原因,尽管您的作者每天至少诅咒一次空白问题,Python仍然是人工智能编程语言中的首例。

    2、Java系列

    JVM系列语言(Java,Scala,Kotlin,Clojure等)也是AI应用程序开发的绝佳选择。无论是自然语言处理(CoreNLP),张量运算(ND4J)还是完整的GPU加速深度学习堆栈(DL4J),您都可以使用大量库来管理流水线的各个部分。另外,您还可以轻松访问ApacheSpark和ApacheHadoop等大数据平台。

    Java是大多数企业的通用语言,在Java8和Java9中提供了新的语言结构,编写Java代码并不是我们中许多人所记得的可恶的体验。使用Java编写人工智能应用程序可能会让人觉得无聊,但它可以完成工作,并且可以将所有现有的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是实现生产性能而不会造成安全性问题的最佳选择。并且TensorFlow绑定已经可用。

    4.JavaScript

    JavaScript的?究竟是怎么回事?那么,谷歌最近发布了TensorFlow.js,这是一个WebGL加速库,允许您在Web浏览器中训练和运行机器学习模型。它还包括KerasAPI以及加载和使用在常规TensorFlow中训练过的模型的功能。这可能会吸引大量开发人员涌入AI领域。虽然JavaScript目前对机器学习库的访问权限与此处列出的其他语言不同,但很快开发人员将在他们的网页中添加神经网络,与添加React组件或CSS属性几乎相同。同时授权和恐吓。

    TensorFlow.js仍处于早期阶段。目前它在浏览器中工作,但不在Node.js中。它还没有实现完整的TensorFlowAPI。不过,我预计到2018年底,这两个问题都将基本得到解决,并且AI的JavaScript入侵将在此后不久进行。

    5.R

    R进入前五名的底部,并且趋向下行。R是数据科学家喜欢的语言。但是,其他程序员发现R在第一次遇到它时感到有些困惑,因为它采用了以数据框架为中心的方法。如果您有一组专门的R开发人员,那么使用与TensorFlow,Keras或H2O进行研究,原型设计和实验的集成是有意义的,但是我不愿推荐R用于生产用途。

    其他AI编程选项

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

    LUA

    几年前,Lua在人工智能领域处于领先地位。借助Torch框架,Lua是深度学习开发中最受欢迎的语言之一,您仍然会在GitHub上遇到许多历史深入的学习工作,这些工作通过Lua/Torch定义了模型。我认为,为了研究和查看人们以前的工作,熟悉Lua是个好主意。但随着TensorFlow和PyTorch等框架的到来,Lua的使用大幅下降。

责任编辑:张泽群

《慧聪安防网》服务升级
扫码关注

安防资讯官方微信

安防资讯官方微博