永发信息网

为什么人工智能用Python

答案:6  悬赏:30  手机版
解决时间 2021-04-06 20:17
为什么人工智能用Python
最佳答案
这属于一种误解,人工智能的核心算法是完全依赖于C/C++的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。所以某种意义上其实C/C++才是人工智能领域最重要的语言。
Python是这些库的API binding,使用Python是因为CPython的胶水语言特性,要开发一个其他语言到C/C++的跨语言接口,Python是最容易的,比其他语言的ffi门槛要低不少,尤其是使用Cython的时候。其他语言的ffi许多都只能导入C的函数入口点,复杂的数据结构大多只能手工用byte数组拼起来,如果还需要回调函数输入那就无计可施了。而CPython的C API是双向融合的,可以直接对外暴露封装过的Python对象,还可以允许用户通过继承这些自定义对象来引入新特性,甚至可以从C代码当中再调用Python的函数(当然,也有一定的条件限制)。不过这也是PyPy这样的JIT解释器的一个障碍。
而且Python历史上也一直都是科学计算和数据分析的重要工具,有numpy这样的底子,因为行业近似所以选择API binding语言的时候会首选Python,同时复用numpy这样的基础库既减少了开发工作量,也方便从业人员上手。
全部回答
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。这也是人工智能必备知识。
因为python语法简单,开发者仅需关注人工智能本身,而不用花太多时间在python语言本身上面,而且人工智能用到的很多库都有python的,可以很方便的使用。
写人工智能的程序不一定非要用python,目前很多的机器学习库例如tensorflow既提供python的api接口,也提供其它语言的api接口。
Python作为一门编程语言,被昵称为“胶水语言”,更被热爱它的程序员誉为“最美丽的”编程语言。从云端、客户端,到物联网终端,python应用无处不在,同时也是人工智能首先的编程语言。
在人工智能上使用Python编程语言的优势主要有:
1.优质的文档,Python极其容易上手,因为Python有极其简单的说明文档
2.平台无关,可以在现在每一个Lnix版本上使用,由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
3.和其他面向对象编程语言比学习更加简单快速,Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
4.Python有许多图像加强库像Python Imaging Libary,VTK和Maya 3D可视化工具包,Numeric Python, Scientific Python和其他很多可用工具可以于数值和科学应用。
5.Python的设计非常好,快速,坚固,可移植,可扩展。很明显这些对于人工智能应用来说都是非常重要的因素。
6.对于科学用途的广泛编程任务都很有用,无论从小的shell脚本还是整个网站应用。
7.最后,它是开源的,可以得到相同的社区支持。Python是FLOSS(自由/开放源码软件)之一。使用者可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。FLOSS是基于一个团体分享知识的概念。
AI的Python库:
1.总体的AI库
AIMA:Python实现了从Russell到Norvigs的“人工智能:一种现代的方法”的算法
pyDatalog:Python中的逻辑编程引擎
SimpleAI:Python实现在“人工智能:一种现代的方法”这本书中描述过的人工智能的算法。它专注于提供一个易于使用,有良好文档和测试的库。
EasyAI:一个双人AI游戏的python引擎(负极大值,置换表、游戏解决)
2.机器学习库
PyBrain:一个灵活,简单而有效的针对机器学习任务的算法,它是模块化的Python机器学习库。它也提供了多种预定义好的环境来测试和比较你的算法。
PyML:一个用Python写的双边框架,重点研究SVM和其他内核方法。它支持Linux和Mac OS X。
scikit-learn:旨在提供简单而强大的解决方案,可以在不同的上下文中重用:机器学习作为科学和工程的一个多功能工具。它是python的一个模块,集成了经典的机器学习的算法,这些算法是和python科学包(numpy,scipy.matplotlib)紧密联系在一起的。
MDP-Toolkit:这是一个Python数据处理的框架,可以很容易的进行扩展。它海收集了有监管和没有监管的学习算法和其他数据处理单元,可以组合成数据处理序列或者更复杂的前馈网络结构。新算法的实现是简单和直观的。可用的算法是在不断的稳定增加的,包括信号处理方法(主成分分析、独立成分分析、慢特征分析),流型学习方法(局部线性嵌入),集中分类,概率方法(因子分析,RBM),数据预处理方法等等。
3.自然语言和文本处理库
NLTK 开源的Python模块,语言学数据和文档,用来研究和开发自然语言处理和文本分析。有windows,Mac OSX和Linux版本。
谷歌的TensorFlow基本上所有的代码都是C++和Python,其他语言一般只有几千行 。如果讲运行速度的部分,用C++,如果讲开发效率,用Python,谁会用Java这种高不成低不就的语言搞人工智能呢?Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具(MATLAB也能搞科学计算,但是软件要钱,且很贵),从而积累了大量的工具库、架构,人工智能涉及大量的数据计算,用Python是很自然的,简单高效。51cto学院Python有非常多优秀的深度学习库可用,现在大部分深度学习框架都支持Python,不用Python用谁?人生苦短,就用Python。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
二莫互通/松原绕城高速公路(路口)在什么地方
暗色和亮色分别是哪些颜色?
单选题以下特征属于百合科的是A.具有外稃和内
重庆渝北区邮政编码
徒谓以子之所能中徒什么意思
影响电梯刷卡刷卡刷不上,有什么原因
与济南有关的古诗词
最近就是想睡觉,做什么都提不起精神,有在吃
徐徐渐进是什么意思
---–Eating carrots is good for our health
千树万树什么开,忽如一夜春风来,千树万树什
田宫的X-22号涂料是保护漆吗?消光漆是什么?
QQ上怎样可以把话说的话变成文字
春玲孕婴用品专卖地址在什么地方,想过去办事
水稻花药离体培养的单倍体幼苗,经秋水仙素处
推荐资讯
JG-AL1-WL1-PE25-3*4mm平方电气图纸中是什么
中央主持人有方悦吗
x加y等于38 这个怎么解
芜合高速安徽段66公里640米是什么违法行为?
在下列两项中每一项所发生的情况在国民收入核
单选题Pricescontinuallyrise.Nextyearanew
CAD2010怎么注册不成功
离形去智的意思和寓意
宜黄县供销合作联社我想知道这个在什么地方
美食轩地址在什么地方,想过去办事
男生是不是对不认识主动搭讪的女生没好感
学电脑制版怎么样,待遇怎么样?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?