我做了两年的算法开发,大部分时间都在使用python开发。所以,对于python,我有点话想聊聊。
人工智能 == python?
在人工智能方面,肯定会提到Python,有些初学者甚至认为人工智能和Python是平等的。实际上,Python是一种计算机编程语言。它是一种动态的,面向对象的脚本语言。它最初用于编写自动化脚本(shell)。随着版本的不断更新和新语言功能的增加,越来越多的独立和大型项目用于开发。一般说来,人工智能通过嵌入式技术将程序人工写入机器,从而使其变得智能。显然,人工智能和Python是两个不同的概念。
起源
人工智能和Python的起源在于我们的统计数据,或者当我们选择使用excel制作表时,因为当我们需要使用加,减,乘,除或函数时,我们只需要应用公司即可。因为诸如SUM,AVERAGE之类的函数在诸如C ++ / C#之类的语言的代码后运行,所以Excel只是一种工具和表示形式,而不是计算形式。同样,在学习人工智能时,Python只是用于操作深度学习框架的工具。实际上负责操作的主要模块不依赖Python。真正有效的是很多复杂的C ++ / CUDA程序。
深度学习与python
深度学习人工智能时,计算太复杂,您需要编写C ++代码操作。此时,程序员希望构建神经网络,填充参数并直接导入数据,而无需一组类似的Excel配置表。开始直接训练模型并获得结果。这种方法简单实用,但是神经网络的构造太复杂,需要填写的参数太多,而且很难用各种方法来制作直观的图形工具。您只能使用类似于Python的相对易用的语言,通过简化的程序代码来构建神经网络,填写参数,导入数据,并调用执行函数进行训练。使用这种语言来描述模型,传递参数,转换输入数据,然后将其放入复杂的深度学习框架中进行计算。那么,为什么选择Python?
长期以来,科学家一直很喜欢用Python进行算法实验,并且擅长将numpy用于科学计算和使用pyplot绘制数据。碰巧Google也在内部使用Python,因此不可避免地要使用Python。除了Python,TensorFlow框架实际上还支持JavaScript,C ++,Java,GO和其他语言。据说人工智能算法也可以使用这些算法。但是这位官员说,Python以外的语言并不一定保证API的稳定性。因此,人工智能和Python是密不可分的。
简而言之,人工智能的核心算法完全依赖于C / C ++,因为它计算量大,需要非常精细的优化并且需要诸如GPU和专用硬件之类的接口。这些只是C / C ++可以在这里完成。因此,从某种意义上说,C / C ++实际上是人工智能领域中最重要的语言。 Python是这些库的API绑定。要开发从其他语言到C / C ++的跨语言界面,Python是最简单的,并且ffi的阈值低于其他语言。 CPython的C API是双向集成的,可以直接将封装的Python对象暴露在外面,也可以允许用户通过继承这些自定义对象来引入新功能,甚至可以从C代码中调用Python函数。
python更容易上手
Python一直是进行科学计算和数据分析的重要工具。 Python是这些库的API绑定。有必要开发从其他语言到C / C ++的跨语言接口。 Python是最简单的,并且其阈值比其他语言低得多。 CPython的C API是双向融合。您可以将封装的Python对象直接暴露给外界。您还可以允许用户通过继承这些自定义对象来引入新功能,甚至可以从C代码调用Python函数。可以说,当前形势造就了英雄,也可以说是人工智能和Python互相成就。人工智能算法促进了Python的发展,Python也使算法更容易。
如果您想进一步讨论,可以给小编留言。谢谢阅读,祝生活愉快。