为什么 Python 在 AI 领域如此受欢迎?

人工智能 机器学习 张量流 Python 编程语言
2021-11-12 19:17:58

首先,我是一名学习人工智能的初学者,这不是一个面向意见的问题,也不是比较编程语言的问题。我并不是说 Python 是最好的语言。但事实是,大多数著名的 AI 框架都对 Python 提供了主要支持。它们甚至可以支持多语言,例如支持 Python、C++ 的 TensorFlow 或支持 C# 和 C++ 的 Microsoft 的 CNTK,但最常用的是 Python(我的意思是更多的文档、示例、更大的社区、支持等)。即使你选择了 C#(由微软开发,我的主要编程语言),你也必须设置好 Python 环境。

我在其他论坛上读到 Python 是 AI 的首选,因为代码更简单、更干净,有利于快速原型设计。

我正在看一部以 AI 为主题的电影(Ex Machina)。在某些场景中,主角破解了房屋自动化的界面。猜猜现场使用的是哪种语言?Python。

那么,Python 有什么大不了的呢?为什么 Python 和 AI 之间的联系越来越紧密?

4个回答

Python 带有大量的内置库。许多库用于人工智能和机器学习。其中一些库是 TensorFlow(这是一个高级神经网络库)、scikit-learn(用于数据挖掘、数据分析和机器学习)、pylearn2(比 scikit-learn 更灵活)等。这个列表还在继续,并且永不结束。你可以在这里找到一些库

Python 有一个简单的 OpenCV 实现。让 Python 深受每个人喜爱的原因在于它强大且易于实现。

对于其他语言,学生和研究人员需要先了解该语言,然后才能使用该语言进入 ML 或 AI。这不是 Python 的情况即使是具有非常基础知识的程序员也可以轻松处理 Python。除此之外,与 C、C++ 或 Java 相比,人们在 Python 中编写和调试代码的时间要少得多。这正是 AI 和 ML 的学生想要的。他们不想花时间调试语法错误的代码,他们想花更多时间在与 AI 和 ML 相关的算法和启发式算法上

不仅图书馆而且他们的教程,界面的处理都可以在线轻松获得人们构建自己的库并将它们上传到 GitHub 或其他地方以供其他人使用。

所有这些特性使 Python 适合他们。

实际上,所有最流行和最广泛使用的深度学习框架表面上都是用 Python 实现的,而底层是用 C/C++ 实现的。

我认为主要原因是 Python 在科学和研究社区中被广泛使用,因为使用像 Python 这样语法最少的语言很容易快速尝试新想法和代码原型。

此外,可能还有另一个原因。正如我所看到的,大多数被过度炒作的人工智能在线课程都在推 Python,因为它对新手程序员来说很容易。人工智能是销售编程课程的新营销热词。(提到 AI 可以向想要构建 HAL 3000 的孩子出售编程课程,但甚至无法编写 Hello World 或将趋势线放到 Excel 图表上。:)

在我的分析工作中,Python 吸引我的是“全栈”工具,这些工具由于被设计为通用语言而不是 R 作为领域特定语言而可用。实际的数据分析只是故事的一部分,Python 拥有丰富的工具和干净的全功能语言,可以从头到尾使用单一语言(尽管使用 C/Fortran 包装器)。

在前端,我的工作通常从从各种来源获取数据开始,包括数据库、各种格式的文件或网络抓取。Python 对此的支持很好,并且大多数数据库或常见数据格式都有一个可靠的、维护良好的库可用于接口。R 似乎在数据 I/O 方面具有普遍的丰富性,尽管对于 FITS,R 包似乎没有处于积极开发中(2.5 年内没有发布 FITSio?)。许多下一阶段的工作通常发生在组织数据和进行基于管道的处理以及大量系统级交互的阶段。

在后端,您需要能够以有形的方式呈现大型数据集,对我来说,这通常意味着生成网页。对于两个项目,我编写了重要的 Django Web 应用程序来检查大型 Chandra 调查项目的结果。这包括大量的抓取(多波长目录)等等。这些只是在内部用于导航数据集和帮助生成源目录,但它们在整个项目中是非常宝贵的。

转到用于分析的特定于天文学的功能,社区似乎很清楚地支持 Python。这可以从个人和机构级别( http://www.astropython.org/resources的可用软件包的深度和开发活动的级别中看出。鉴于这种可用且正在工作的基础设施级别,我认为将最有用的 R 天文学统计工具移植到 Python 是有意义的。这将补充当前通过 rpy2 从 Python 调用 R 函数的能力。如果您有兴趣,我强烈建议您阅读这篇文章,这是一个比较编程语言的问题https://diceus.com/what-technology- is-b ... nd-java-r/ 我希望它有帮助。祝你好运

Python 有一个标准库正在开发中,还有一些用于 AI。它具有直观的语法、基本的控制流和数据结构。它还支持解释性运行时,无需标准编译器语言。这使得 Python 对于 AI 的原型算法特别有用。