特斯拉嫌弃 Python,追捧 C++( 三 )

图片来源:英伟达大多数流行的机器学习框架都依赖C++ , 比如TensorFlow、Pytorch甚至CUDA 。 如上所示 , CUDA不仅仅是一种编程语言 , 更是一种工具包 , 为使用C/C++的开发人员提供了扩展 , 以便表达大量的并行处理 , 并引导编译器处理应用程序中映射到GPU的那部分 。 同样 , Python也是一种接口 , 它让用户可以进行交互并利用机器学习功能 , 无需学习C++的基本细节 。 Python主要用作一种接口 。 作出这样的安排是为了让更多非编程出身的开发人员可以尽快上手、构建机器学习应用程序 。 Python易学易用 , 它之所以大受欢迎就是缘于这一点 。 然而 , 如果人们从头开始学起 , 会发现C ++这种传统语言之类的语言支持的API和接口用起来很容易 。 只需借助经过优化的GPU库(比如BLAS)和计算机视觉库(比如OpenCV) 。 需要速度的一切应用都可以用C++以及Python绑定加以编写 。 与C++不同 , Python用户可以从零开始编写一个卷积神经网络 , 用不了50行代码 。 C++需要了解一些较复杂的知识 , 这对新手来说是一大弊端 。 在这里时间很关键 。 比如说 , 正整合机器学习工具的物理学家更喜欢像Python这种轻巧而简单的编程语言 。 然而 , C++在库和框架的后台处理所有繁重任务(读取矩阵乘法) 。

推荐阅读