V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
luffy
V2EX  ›  程序员

Python 与人工智能

  •  
  •   luffy · 44 天前 · 882 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一直有个疑惑

    python 执行效率并不算高, 而人工智能需要处理大量数据,属于 CPU 计算密集型,需要效率,

    那么用一个效率不是很高的语言去处理需要效率的海量数据。 这两者是怎么这么愉快的玩在一起的?

    8 条回复    2022-05-23 21:47:57 +08:00
    dreamakeo
        1
    dreamakeo  
       44 天前 via Android
    库都是 c++写的啊
    hello2090
        2
    hello2090  
       44 天前
    计算是 GPU 做的,python 只是把数据通过 CUDA 输入给了 GPU.
    codefun666
        4
    codefun666  
       44 天前
    简单说,Python 就是 wrapper 。会调用 AI 库、调参的人很多,但很少有能写 AI 框架的人。numpy 这些常用科学计算库大部分都是 C/C++实现 - Python 太慢了!
    DOLLOR
        5
    DOLLOR  
       44 天前
    那些库都是 C/C++或者其他高性能语言写的,python 只是用来调库的,充当胶水的作用。
    之所以要用 python 调库,而不是直接用 C/C++,是因为 python 用起来很方便,门槛极低。
    这也是 python 培训爆火的原因,随便教教,就能产出一批又一批什么人工智能、大数据调包侠了。
    janxin
        6
    janxin  
       44 天前
    Python 是胶水啊,下层不会频繁变化,复用很高。
    Buges
        7
    Buges  
       44 天前 via Android
    Python 应该是非程序员用户最多的语言了。
    LeeReamond
        8
    LeeReamond  
       44 天前 via Android   ❤️ 3
    为什么能愉快在一起,因为你实际写过科学运算就知道,在千变万化的业务中,基础逻辑数量庞大,复杂度低,即使并不困难,但如果从零实现谁也顶不住,所以开发方式一定是有一个底层库提供数据驱动,另外再搞一个高层 API 供开发人员组装业务逻辑。

    所以这个需求中,从功能性考量高层 API 需要的是调用效率而不是执行效率,这点上 py 完善的 ffi 支持做的非常好。从业务考量,则需要优雅的语义表达以提高实际业务开发效率,这使得大量非职业程序员的数据科学家更容易接受。另外 py 在当时就已经有完善的科学计算库和庞大的生态,这些都是加分项,因为深度学习开发中将数据清洗为合适的输入输出也是耗费精力的大头。如果不理解,不妨设想一下如果当年抢占市场的是 java ,在上述需求方面对非职业程序员会产生什么变化。

    发展到今天当然仅从语言角度很多备选都能做的很好了,scala 也有完善的同类产品之前在论坛里还看人宣传过,之所以绝大部分开发者仍在使用 python 仅因为其社区生态活跃的惯性。不过也没有什么大不了的,php ,java ,js 这些主流语言在其主要使用场景都经历过上述过程,在某一特定业务时期极速扩张的影响是深远的,例如至今互联网业务的 90%仍由 php 实现自然不是因为从今天的视角看 php 在语言层面上有什么优势。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2209 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:16 · PVG 00:16 · LAX 09:16 · JFK 12:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.