日期:2025/04/07 23:56来源:未知 人气:54
从技术上讲,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 解决方案的开发变得非常快速且可靠。