为什么做AI的都选Python?

作者&投稿:势茂 (若有异议请与网页底部的电邮联系)
编程语言是什么?~

编程语言是一种用来定义计算机程序的形式语言,同时也是一种被标准化的交流技巧,用来向计算机发出指令,一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。


编程语言有很多种,常用的有Java、、Python、PHP、JavaScript、Go语言等,每种语言都有自己擅长的方面。

答: 主要有以下的一些见解,欢迎和你探讨。

  1. 主流的深度学习框架基本上都是用Python开发的,虽然说他们也提供了其他语言的接口,但是用起来还是没有Python这么方便;
  2. Python里面有非常多的科学计算包,各种具有实用功能的库,大大提高了开发效率,对于AI而言,最开始呢是在学术上有着大量的运用,而使用Python,非常方便进行仿真。学术研究成功之后呢,慢慢在工业界越来越多了;
  3. Python的包装能力,组合能力,嵌入式能力非常强,可以把各种复杂性包装在 Python 模块里,暴露出漂亮的接口。也非常方便其他语言的调用。

希望可以帮助到你~



为什么人工智能要用Python?总结了以下三个原因。

1、Python是解释语言,程序写起来非常方便

写程序方便对做机器学习的人很重要。因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,Python里通常可以用很少的时间实现。举例来说,在C等编译语言里写一个矩阵乘法,需要自己分配操作数(矩阵)的内存、分配结果的内存、手动对BLAS接口调用gemm、最后如果没用smart pointer还得手动回收内存空间。Python几乎就是import numpy; numpy.dot两句话的事。

当然现在很多面向C/C++库已经支持托管的内存管理了,这也让开发过程容易了很多,但解释语言仍然有天生的优势——不需要编译时间。这对机器学习这种需要大量prototyping和迭代的研究方向是非常有益工作效率的。

2、Python的开发生态成熟,有很多库可以用

Python灵活的语法还使得包括文本操作、list/dict comprehension等非常实用的功能非常容易高效实现(bbs.cnitedu.cn),配合lambda等使用更是方便。这也是Python良性生态背后的一大原因。

相比而言,Lua虽然也是解释语言,甚至有LuaJIT这种神器加持,但其本身很难做到Python这样,一是因为有Python这个前辈占领着市场份额,另一个也因为它本身种种反常识的设计(比如全局变量)。不过借着Lua-Python bridge和Torch的东风,Lua似乎也在寄生兴起。

3、Python效率超高

解释语言的发展已经大大超过许多人的想象。很多比如list comprehension的语法糖都是贴近内核实现的。除了JIT之外,还有Cython可以大幅增加运行效率。最后,得益于Python对C的接口,很多像gnumpy, theano这样高效、Python接口友好的库可以加速程序的运行,在强大团队的支撑下,这些库的效率可能比一个不熟练的程序员用C写一个月调优的效率还要高。



人工智能用Python语言,因为它有以下几点优势:

Python极其容易上手,因为Python有极其简单的说明文档

平台无关,可以在现在每一个Lnix版本上使用,由于它的开源本质,Python已经被移植在许多平台上。

和其他面向对象编程语言比学习更加简单快速,Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。

Python有许多图像加强库。

Python的设计非常好,快速,坚固,可移植,可扩展。很明显这些对于人工智能应用来说都是非常重要的因素。

对于科学用途的广泛编程任务都很有用,无论从小的shell脚本还是整个网站应用。

最后,它是开源的,可以得到相同的社区支持。Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。