ITPub博客

浅谈:Python是否会取 代C/C++成为人工智能核心算法?

Python 作者:粤嵌科技 时间:2018-11-05 17:50:09 0 删除 编辑

     随着互联网产品的日渐饱和,移动互联网也已进入下半场,市场已经从巅峰时代逐渐进入一个相对平稳的发展阶段,互联网人口渗透率已经超过了50%。人工智能掀起了新的一波世界科技浪潮,互联网巨头公司BAT、近年来崛起的人工智能企业粤嵌科技、Face++、Video++都在不断增大人工智能领域的投入。

Python培训

    自从2017年国/务/院印发《新一代人工智能发展规划》中明确指出在中小学阶段设置人工智能课程之后,Python一路逆袭成为人工智能时代最合适的语言,并借此为未来国家和社会发展奠定了人工智能的人才培养基础,甚至被众多程序员誉为“宇宙最好的编程语言”。
    但人工智能的核心算法主要还是依赖于C/C++的。
    因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到,所以某种意义上来说,其实C/C++才是人工智能领域最重要的语言。
    Python是APIbinding,使用Python是因为CPython的胶水语言特性,能够把用其他语言制作的各种模块很轻松的连接在一起,比如3D游戏中的图形渲染,性能要求特别高就可以用C/C++重写,而后封装为Python可以调用的扩展类库。所以说要开发一个其他语言到C/C++的跨语言接口,Python是最容易的,比其他语言的ffi门槛要低很多,尤其是使用Cython的时候,其他语言的ffi许多都只能导入C的函数入口点,复杂的数据结构大多只能手工用byte数组接起来,如果还需要回调函数输入那就无计可施了。
    而Cpython的CAPI是双向融合的,可以直接对外暴露封装过的 Python 对象,还可以允许用户通过继承这些自定义对象来引入新特性,在一定条件限制下甚至可以从C代码当中再调用Python的函数。不过这也是PyPy这样的JIT解释器的一个障碍。而且Python历史上也一直都是科学计算和数据分析的重要工具,有numpy这样的底子,因为行业近似所以选择APIbinding语言的时候会首选Python,同时复用numpy这样的基础库既减少了开发工作量,也方便从业人员上手。
    机器学习作为人工智能的一个分支,它是让机器能具备摆脱对人工指令的依赖,能按照一定的算法开展自主学习的能力,它的出现才真正让“人工智能”不枉智能二字。在当下兴起的人工智能以及大数据运用上,Python的优势可以被广泛运用到许多领域和重要的日常软件功能当中,人脸识别、会话接口、商业智能等领域,Python都证明了它的实用性。自动化的司法调查、安全检查、网页分析等都有可能使用Python来实现。但未来5到10年,整个人工智能会往什么方向发展?Python和C/C++谁能成为核心算法,值得我们的期待。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31559147/viewspace-2218786/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-10-22

  • 博文量
    17
  • 访问量
    5396