请选择 进入手机版 | 继续访问电脑版
楼主: ada89k
5728 68

为什么机器学习的框架偏向于Python?   [推广有奖]

  • 3关注
  • 72粉丝

院士

99%

还不是VIP/贵宾

-

威望
2
论坛币
621759 个
通用积分
0.9078
学术水平
123 点
热心指数
149 点
信用等级
82 点
经验
46289 点
帖子
1667
精华
3
在线时间
2442 小时
注册时间
2017-2-7
最后登录
2023-12-24

ada89k 在职认证  发表于 2018-8-29 14:15:27 |显示全部楼层 |坛友微信交流群
相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

为什么机器学习的框架偏向于Python?


人工智能程序可以使用几乎所有的编程语言实现,最常见的有:Lisp,Prolog,C/C++和 Java,但更多的人工智能工程师还是会选择Python。为什么呢?

123.png


主要有以下原因:
1.Python是解释语言,程序写起来非常方便
写程序方便对做机器学习的人很重要。
因为经常需要对模型进行各种各样的修改,这在编译语言里很可能是牵一发而动全身的事情,Python里通常可以用很少的时间实现。

举例来说,在C等编译语言里写一个矩阵乘法,需要自己分配操作数(矩阵)的内存、分配结果的内存、手动对BLAS接口调用gemm、最后如果没用smartpointer还得手动回收内存空间。Python几乎就是importnumpy; numpy.dot两句话的事。

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

2.Python的开发生态成熟,有很多有用的库可以用
除了上面说到的NumPy,还有SciPy、NLTK、os(自带)等等不一而足。Python灵活的语法还使得包括文本操作、list/dict comprehension等非常实用的功能非常容易高效实现(编写和运行效率都高),配合lambda等使用更是方便。这也是Python良性生态背后的一大原因。相比而言,Lua虽然也是解释语言,甚至有LuaJIT这种神器加持,但其本身很难做到Python这样,一是因为有Python这个前辈占领着市场份额,另一个也因为它本身种种反常识的设计(比如全局变量)。不过借着Lua-Python bridge和Torch的东风,Lua似乎也在寄生兴起。

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

4.数据存储方便
有sql,hadoop,mangodb,redis,spark等

5.数据获取方便
有Scrapy,beautifulsoup,requests,paramiko等

6.数据运算方便
有pandas,Numpy,scipy等

7.输出结果方便
有matplotlib,VisPy等

8.和其他语言交互方便
有ctypes,rpy2,Cython,SWIG,PyQt,boost.python

9.加速方便
有pypy,Cython,PyCUDA

10.图形图像方便
有PyOpenGL,PyOpenCV,mayavi2

11.信号处理方便
PyWavelets,scipy.signal

12.云系统支持方便
github,sourceforge,EC2,BAT,HPC

13.python开源
python支持的平台多,包括windows,linux,unix,macos。而matlab太贵,只能调用其api,用python省钱,省钱就是赚钱。

python和 c++ 做个比较。
c++ 的cpu效率是远远高于 python 的.不过 python 是一门胶水语言,它可以和任何语言结合,基于这个优点,很多数据处理的python 库底层都是 c++ 实现的,意思就是说:你用python写code,但效率是c++的。只有那些for 循环,还是用python的效率高。

近年来机器学习最要是深度学习,而深度学习使用cuda gpu加速远比cpu要快,而cuda 是c++写的。

-----------------------------------------------------------------------------------------------------------------

伴随着众多CDA学员的期待,CDA精心筹备的“A+人工智能工程师”课程终于要与大家见面了

课程特点
1.   在线自由学习+完备课程体系

2.   全程监督辅导+项目实作案例

3.   行业领袖认可+企业证书认证

在线学习解决方案
使用先进强大的在线教育系统,您可根据自身时间自由学习,享有视频回放、在线作业、在线考试等一体化优质学习体验。

21周从零成长计划,平均每周学习及项目作业时间为10+小时,阶段性提升,步步为营。

全程专业的讲师答疑及教学辅导,更贴近每个学生的个性化学习需求

适用人群
对Python、机器学习、深度学习、人工智能感兴趣的各界人士。

在线报名
立即报名.jpg

8月31日之前报名优惠2000元;
9月30日之前报名优惠1000元;
所有CDA就业班、集训班老学员优惠2000元。

人工智能工程师课程咨询,欢迎联系:
赵老师:010-53351739

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


虎虎856 在职认证  发表于 2018-8-29 14:17:57 |显示全部楼层 |坛友微信交流群

回帖奖励 +4

Python的设计更加人性化,具有快速、坚固、可移植性、可扩展性的特点,十分适合人工智能;开源免费,而且学习简单,很容易实现普及;内置强大的库,可以轻松实现更大强大的功能。

使用道具

淖尔封 在职认证  发表于 2018-8-29 14:18:47 |显示全部楼层 |坛友微信交流群
Python 已经是数据分析和 AI的第一语言,网络攻防的第一黑客语言,正在成为编程入门教学的第一语言,云计算系统管理第一语言。

使用道具

费讴歌红 在职认证  发表于 2018-8-29 14:20:41 |显示全部楼层 |坛友微信交流群

回帖奖励 +4

Python虽然是脚本语言,但是因为容易学,迅速成为科学家的工具,从而积累了大量的工具库、架构,人工智能涉及大量的数据计算,用Python是很自然的,简单高效。

使用道具

脑仁疼 在职认证  发表于 2018-8-29 14:21:02 |显示全部楼层 |坛友微信交流群

回帖奖励 +4

Python有非常多优秀的深度学习库可用,现在大部分深度学习框架都支持Python,不用Python用什么?

使用道具

欧伟万峰1324 在职认证  发表于 2018-8-29 14:22:21 |显示全部楼层 |坛友微信交流群

回帖奖励 +4

谢谢分享~看着挺好的

使用道具

回帖奖励 +4

谢谢楼主的分享

使用道具

回帖奖励 +4

Python的功能很强大啊 要学习学习

使用道具

sqy 发表于 2018-8-29 15:57:36 |显示全部楼层 |坛友微信交流群

回帖奖励 +4

顶!!!!!!!!!

使用道具

songdg 发表于 2018-8-29 16:34:29 |显示全部楼层 |坛友微信交流群

回帖奖励 +4

c++ 的cpu效率是远远高于 python 的.不过 python 是一门胶水语言,它可以和任何语言结合,基于这个优点,很多数据处理的python 库底层都是 c++ 实现的,意思就是说:你用python写code,但效率是c++的。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-3-29 02:42