QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
编程 JavaScript Java C++ Python SQL C Io ML COBOL Racket APL OCaml ABC Sed Bash Visual Basic Modula-2 Logo Delphi IDL Groovy Julia REXX Chapel X10 Forth Eiffel C# Go Rust PHP Swift Kotlin R Dart Perl Ruby TypeScript MATLAB Shell Lua Scala Objective-C F# Haskell Elixir Lisp Prolog Ada Fortran Erlang Scheme Smalltalk ABAP D ActionScript Tcl AWK IDL J PostScript IDL PL/SQL PowerShell

为什么深度学习不使用 C 或 C++,而是使用Python等语言?

日期:2025/04/07 23:56来源:未知 人气:54

导读:从技术上讲,Python 并没有那么慢。在本机Python 中,您可以在大约一秒内对列表执行10M次追加操作。但这个数字毫无意义。深度学习研究人员使用C++、C但不仅仅是原生的,如果我占95%的人的话。Native 意味着您没有编写实际的 C++ 或 C 代码。大多数深度学习库(如 Torch 和 Tensorflow)都是用 C++(以及其他互补语言)编写的,这就是它们速度快......

从技术上讲,Python 并没有那么慢。

在本机Python 中,您可以在大约一秒内对列表执行10M次追加操作。

但这个数字毫无意义。

深度学习研究人员使用C++、C但不仅仅是原生的,如果我占95%的人的话。Native 意味着您没有编写实际的 C++ 或 C 代码。

大多数深度学习库(如 Torch 和 Tensorflow)都是用 C++(以及其他互补语言)编写的,这就是它们速度快的原因。

您访问这些库所用的 API 是 Python 语言,这不会导致任何重大的性能问题。从本质上讲,CPU 密集型的工作是用 C++ 完成的。

对 GPU 的依赖是另一回事。Python 实际上拥有相当多的工具和库(甚至 GUI 和游戏引擎),可以直接利用 GPU 来执行图形任务。使用 GPU 进行 ML/DL 是小菜一碟。

TensorFlow 和 PyTorch 都通过 GPU 支持分布式计算。

PyTorch 包括 CUDA 11.X 安装以及主要库(Torch、音频)。这使得您可以轻松使用您拥有的任何 NVIDIA 显卡,例如未经验证的 CUDA GPU(如 MX250)。

TensorFlow 仅需要支持 CUDA 的 NVIDIA GPU(不需要 AMD,除非您有其他方式)。

另一方面,sklearn利用了 Python,它和其他库一样快,它仍然使用 Numpy(用 C 编写),这给它带来了性能优势。同样,计算量大的事情是由 Numpy 处理的。

如果 DL/ML 仍然被 C++、C 使用,那么今天只有 5% 的 ML/DL 工程师会考虑使用它。

此外,Jupyter Notebooks 有助于将 python 代码分隔成特定的部分,您可以在其中将计算成本较高的部分划分为 Cell。

然后,您只需运行这些单元一次,这使得您的解决方案可以花费更少的时间来开发和评估,而不是在 IDE 上灵活地从头到尾运行所有内容。

这使得 Python 中的 ML 解决方案的开发变得非常快速且可靠。

ML排行

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告