干货分享:五大最适合学习ai开发的编程语言

cherry0327 cherry0327     2022-11-12     473

关键词:

AI(人工智能)为应用开发者开创了一个全新的可能性。通过利用机器学习或深度学习,您可以生成更好的用户配置文件、个性化设置和推荐,或者整合更智能的搜索、语音界面或智能助手,或者以其他数种方式改进您的应用。你甚至可以构建看得懂、听得懂,并与人类互动的应用。准备学习AI的你,知不知道选择哪种编程语言合适呢?以下列举的五种编程语言,被认为是最适合用来学习AI。大家可以参考一下。

 

1. PYTHON
第一名毫无疑问是 Python。尽管 Python 有些特性令人不爽(whitespace、Python 2.x 和 Python 3.x 之间的巨大差异、五种不同的包机制都在不同程度上有缺陷)但如果你正在从事 AI 工作,你几乎肯定会在某些时候用到 Python。


Python 中可用库的数量是其他语言所无法企及的。NumPy 已经变得如此普遍,以至于几乎成为了张量运算的标准 API,Pandas 将 R 的强大而灵活的数据帧带入 Python。对于自然语言处理(NLP),您可以使用久负盛名的 NLTK 和快如闪电的 SpaCy。对于机器学习,有经过实战检验的 Scikit-learn。当谈到深度学习时,当前所有的库(TensorFlowPyTorchChainerApache MXNetTheano 等)都是在 Python 上首先实现的项目。

(在LiveEdu上,一位德国的AI开发者教大家如何使用Python开发两个简单的机器学习模型)

 

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


Python 是人工智能研究的前沿语言,这是拥有最多机器学习和深度学习框架的语言,也是 AI 研究者几乎都掌握的语言。由于这些原因,尽管笔者每天都要咒骂一次 whitespace 问题,Python 仍然是人工智能编程语言之王,您没法绕过它。


2. JAVA 和相关语言

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


Java 是大多数企业的通用语言,在 Java 8 和 Java 9 中提供了新的语言结构,这使得编写 Java 代码的体验不再像我们过去所记得的那样糟糕。使用 Java 编写人工智能应用可能会让人觉得无聊,但它确实能完成工作,并且您可以使用所有现成的 Java 基础架构来开发、部署和监视。


3. C/C++
在开发 AI 应用时,C / C ++ 不太可能成为您的首选,但如果您在嵌入式环境中工作,并且无法承受 Java 虚拟机或 Python 解释器的开销,那么 C / C ++ 就是最好的解决方案。当你需要榨干系统的每一滴性能时,你就得面对可怕的指针世界。


幸运的是,现代 C / C ++ 写起来体验还不错(实话实说!)。您可以从下列方法中选择一个最适合的:您可以一头扎进堆栈底部,使用 CUDA 等库来编写自己的代码,这些代码将直接在 GPU 上运行;您也可以使用 TensorFlow 或 Caffe 以访问灵活的高级 API。后者还允许您导入数据科学家用 Python 写的模型,然后以 C / C ++ 级别的速度在生产环境中运行它们。

 

在未来一年中,请密切留意 Rust 在 AI 领域的一些动作。结合 C / C ++ 级别的速度与类型和数据安全性,Rust 是实现产品级性能却不会造成安全问题的最佳选择。并且它现在已经可以与 TensorFlow 绑定了。


4. JAVASCRIPT
蛤?!JavaScript?我没听错吧?其实,谷歌最近发布了 TensorFlow.js,这是一个 WebGL 加速库,允许您在 Web 浏览器中训练和运行机器学习模型。它还包括 Keras API 以及加载和使用在常规 TensorFlow 中训练过的模型的功能。这可能会吸引大量的 JS 开发者涌入 AI 领域。虽然 JavaScript 目前能够访问的机器学习库与其他语言相比有所局限,但在不久的将来,开发者在网页中添加神经网络就和添加 React 组件或 CSS 属性一样简单。这听上去既强大又恐怖。

 

TensorFlow.js 仍处于早期阶段。目前它可在浏览器中运行,但不适用于 Node.js。它还没有实现完整的 TensorFlow API。不过,我预计到 2018 年底,这两个问题都将基本得到解决,并且JavaScript 将在不久之后大举进军 AI 界。

5. R
R 在这份榜单中排名最末,并且看上去将会越来越没落。R 是数据科学家喜欢的语言。但是,其他程序员在第一次接触 R 时会感到有些困惑,因为它采用了以数据帧为中心的方法。如果您有一组专门的 R 开发者,那么将 R 与 TensorFlowKerasH2O 搭配使用,进行研究、原型设计和实验是有意义的。但基于性能和操作方面的考虑,我不愿意推荐将 R 用于生产。虽然您可以写出能在生产服务器上部署的高性能 R 代码,但将这种用 R 语言编写的原型重新编码为 Java 或 Python 肯定会更容易。

 

本文为转载,原文出处:《AI 开发,究竟哪种语言强?》

python如何最适合web开发中的人工智能

...了一个很好的好处列表。它是最受欢迎和功能强大的高级编程语言,在2018年获得了极大的普及。它的日益普及使得它能够进入一些最流行和最复杂的过程,如人工智能(AI)、机器学习(ML)、自然语言处理、数据科学等。Pytho... 查看详情

python如何最适合web开发中的人工智能?

...了一个很好的好处列表。它是最受欢迎和功能强大的高级编程语言,在2018年获得了极大的普及。它的日益普及使得它能够进入一些最流行和最复杂的过程,如人工智能(AI)、机器学习(ML)、自然语言处理、数据科学等。Pytho... 查看详情

java和python,哪个更适合开发ai人工智能?

当今的机器世界需要能够改变我们生活、工作和娱乐方式的技术。考虑到智能系统和具有行为算法、智能搜索和能够自行学习的智能系统的需求,约翰麦卡锡将人工智能引入了我们的世界,并被亲切地称为人工智能。这... 查看详情

2016年最值得学习的五大开源项目

...视频和一系列程序员精选文章,数据来源于代码家的干货集中营。唯一不足就是视频解析还有bug,声音视频无法同步,希望能尽快修复。架构:   MVC图片加载:Picasso网络请求:RxJava&Retrofit+okhttp... 查看详情

python最赚钱的4个方向,你最心动的是哪个?

...712,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2018最新的Python和0基础入门教程,欢迎初学和进阶中的小伙伴。每天晚上20:00都会开直播给大家分享Python知识和路线方法,群里会不定期更... 查看详情

干货分享!python基础教程

Python是一种流行的编程语言,由GuidovanRossum创建,并于1991年发布。Python被认为是最流行的编程语言中最热门的技能之一。它是开源的,即使出于商业目的,我们也可以自由安装,使用和分发。下面为大家分享一些Python基础教程。... 查看详情

ai入门级的开发技巧:人脸检测的4种常见方法以及优缺点对比

这是一篇纯干货文章,旨在与AI初学者分享关于人脸检测的4种常见方法,以及它们的各自优缺点的对比。同时我也从一位资深的AI开发者角度,给大家提出一些个人的开发技巧和建议,便于大家找到适合自己需求... 查看详情

「干货分享」模块化编程和maven配置实践一则

?封面说到模块化编程,对我个人而言首先起因于团队协作的需要,也就是组织架构结构特点来决定,而不是跟风求得自我认同,看看我们团队的组织结构:? 其中:基础平台部职责:1、AI实验室:语音,图像识别算法持续优... 查看详情

最适合游戏开发的语言是什么?

建议初学者学习主流的开发技术主流开发技术有大量成熟的教程、很多可以交流的学习者、及时的学习反馈等;技术的内里基本都是相同的,学习主流技术的经验、知识可以更好更快地疏通学习新知识和技术。因此,... 查看详情

学java开发每个阶段最应该被攻克的难点分享!

软件开发是如今的热门行业,作为历史最悠久的编程语言,Java是很多人投身IT行业的首选。新手在学习Java时难免会遇到各种问题,会让自己在学习的过程中越来越吃力。今天,小千就为大家总结学习Java每个阶段... 查看详情

python五大应用领域是啥

...架。4.云计算开发Python是从事云计算工作需要掌握的一门编程语言,目前很火的云计算框架OpenStack就是由Python开发的,如果想要深入学习并进行二次开发,就需要具备Python的技能。5.人工智能MASA和Google早期大量使用Python,为Python... 查看详情

不要再学习框架了!

...我们需要跟上技术发展的步伐。每天,我们都在学习新的编程语言、框架和库。但是,技术和时尚一样,正在以光速变化。本文作者认为,这是一场没有赢家的比赛,因为技术的发展没有终点。因此,他建议大家停止学习框架,... 查看详情

python为何如此受欢迎?你真的需要学习python嘛?学了之后能做些什么?

Python是一门代码简单、易读易写的编程语言。近年来,它是一种在AI开发中受到关注的编程语言,并且由于有专门用于机器学习的库,因此它已被用作AI开发的标准语言。此外由于它简单易懂,因此经常用于编程教... 查看详情

ai大神lecun深度学习公开课来啦!4万字干货笔记

 Datawhale干货 主讲:YannLeCun,整理:新智元【新智元导读】YannLeCun大师课程,搭配120页笔记食用效果更佳。喜欢深度学习?最好的方法就是在线课程。这里推荐图灵奖得主、纽约大学教授YannLeCun主讲的在线课... 查看详情

最适合java初学者的练手项目!图书管理系统(资料源码分享!)(代码片段)

项目简介图书馆管理小项目的主要目的是让学完JavaSE的同学对之前掌握的知识做一些运用,该项目应用的知识点包括下面内容:面向对象的思想分层的思想接口异常集合日期处理Stream流IO流反射Javafx(了解)css(了解)通过学习... 查看详情

纯干货分享:人工智能与大数据开发的12个注意点,经验之谈

...想学习的同学欢迎加入大数据学习qq群:458345782,有大量干货(零基础以及进阶的经典实战)分享给大家并且有清华大学毕业的资深大数据讲师给大家免费授课,给大家分享目前国内最完整的大数据高端实战实用学习流程体系。... 查看详情

es6复习干货知识点汇总(代码片段)

一、问:ES6是什么,为什么要学习它,不学习ES6会怎么样?答:ES6是新一代的JS语言标准,对分JS语言核心内容做了升级优化,规范了JS使用标准,新增了JS原生方法,使得JS使用更加规范,更加优雅,更适合大型应用的开发。学习E... 查看详情

干货分享:学习c++编程,那些经典书籍是你一定会用上的呢?

很多同学在学习C/C++的时候,知道自己要书籍结合视频对照学习,网上搜索了也没找到,但却不知道自己应该看那几本书籍,本文特意针对C++的几个方面,全面的例举了学习时候对你有帮助的书籍&#... 查看详情