机器学习库

作者

David Zax

Staff Writer

IBM Think

什么是机器学习库

机器学习库是预制的代码块(“库”),对机器学习项目非常有用。由于机器学习 (ML) 工作涉及人工智能中某些常见的任务类型,因此使用预构建、经审查的算法和其他工具可以节省时间。 

大多数 ML 库都是由模块组成的,允许开发人员在构建处理预处理、训练、验证 ML 指标和其他任务的 ML 管道时混合搭配使用。这些库通常是开源且免费的,且有很多选择:仅一个 GitHub 页面就汇总了近千个基于 Python 编程语言的此类 ML 库。(Python 已成为主导的 ML 语言,尽管 ML 项目也使用JavaScript、R等其他语言)。

各类应用都有对应的库。Hugging Face 的转换器便于使用预训练的转换器模型。Stable-Baselines3 等库支持强化学习。ML 库可以有效地分为两大类。用作 ML 项目框架或平台的通用库。专用于 ML 项目特定阶段或组件的专用库。

辅以专家洞察分析的最新科技新闻

通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明

谢谢!您已订阅。

您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此管理您的订阅或取消订阅。更多相关信息,请参阅我们的《IBM 隐私声明》。

通用机器学习库

通用 ML 库(有时被称为“通用框架”或“核心平台”)本身就有几十个。但有四个特别流行,常年位居“最佳”榜单:TensorFlow(以及密切相关的 Keras)、PyTorch 和 scikit-learn。每个库各有侧重,取决于项目或团队的需求。 

  • NumPy

  • Tensorflow

  • Keras

  • PyTorch

  • Scikit-learn

NumPy

NumPy 本身不是一个 ML 库,而是构建所有 ML 库的基础库。机器学习的核心是从海量数据中发现模式。NumPy 是一个创建 n 维数组结构的库,可帮助组织这些数据点并对其应用数学函数(线性代数的数学分支)。这些 n 维或多维数组——即可操作的大型数字容器——有时也称为“张量”,这是 ML 库讨论中的常见术语。(二维数组称为矩阵)。

虽然 NumPy 处理张量(机器学习的核心数据结构),但实际上,NumPy 对于现代 ML 的处理器密集型需求来说过于局限。除其他限制外,NumPy(其根源可以追溯到 1990 年代)过于陈旧,无法与商业 ML 通常需要的高级图形处理单元处理器“对话”(所谓的“GPU 加速”),而仅适用于低算力的中央处理单元 (CPU)。

Tensorflow

TensorFlow 是一个通用 ML 库,最初由 Google Brain 团队于 2015 年开发;在 Google 将该库开源后,它变得越来越受欢迎。TensorFlow 不仅可与 CPU 处理器协同工作,还可与高性能 GPU 及 Google 专门制造的张量处理器协同工作。

TensorFlow 特别适合深度学习,这是一种依赖 神经网络 (模仿大脑结构)的机器学习变体。“深度”学习得名于其在输入和输出间涉及多个层。深度学习在自然语言处理 (NLP)、计算机视觉和图像识别等应用中非常有用。TensorFlow 源于 Google,为其许多商业应用和产品提供支持,擅长大规模部署。 

Keras

Keras 与 TensorFlow 密切相关;同样由 Google 工程师创建。该库通常被希望为基于 TensorFlow 的 ML 项目提供更友好 API 的开发人员使用。2025 年发布的 Keras 版本新增了对 TensorFlow 之外其他框架(包括 PyTorch)的支持。Keras 还以其详尽的文档和实用教程闻名。

PyTorch

PyTorch 最初是由 Meta 研究人员于 2016 年底开发。它是旧版 Torch 库的 Python 移植版,其核心是张量。到 2022 年 PyTorch 移入 Linux 基金会时,据报道已有超过 2400 名贡献者在超过 15 万个项目中使用 PyTorch。(开源机器学习是目前的主流范式,该领域的蓬勃发展离不开广泛的协作。)与 TensorFlow 类似,PyTorch 同样允许开发人员执行类 NumPy 操作,但使用 GPU 而非 CPU——使 PyTorch 成为另一个深度学习框架。 

“选 PyTorch 还是 TensorFlow?” 对于那些开始使用机器学习的人来说,这通常是他们首先要询问的问题(此前还有一个名为 Theano 的库参与竞争;它已于 2017 年弃用)。虽无错误答案,但 PyTorch 因其灵活且宽容(“Python 风格”)的设计及易用性,正成为许多开发人员的首选。长期以来,它一直受到学术界和研究人员的青睐,如今,工业界也越来越多地将其用于雄心勃勃的可扩展用例。例如,特斯拉的自动驾驶系统使用 PyTorch 构建的,微软的云计算平台 Azure 也提供支持。PyTorch 已经变得非常流行,以至于围绕它成长起一个支持工具生态系统,例如 Torchvision 和  TorchText。Tensorflow 和 Pytorch 都使用计算图——一种表示模型训练期间操作和变量流的数据结构。 

IBM 是 PyTorch 基金会 成员 ;IBM 在其 watsonx 产品组合中使用 PyTorch。

Scikit-learn

Scikit-learn(小写为“scikit-learn”,也称为“sklearn”)是另一个基础 ML 库,设计用于与 NumPy 及另一个受数据科学家欢迎的支持科学计算的库 SciPy 交互操作。Scikit-learn 包含许多以模式识别为本质的 ML 算法。例如,它包括分类算法(如判断电子邮件是否为垃圾邮件)、回归算法(支持预测、预报和推荐系统)和聚类算法(将相似项分组)。虽然 scikit-learn 是初学者学习机器学习基础知识(如数据预处理、数据管道、决策树和优化等概念)的好地方,但它作为商业产品引擎的功能却很有限。与 NumPy 一样,scikit-learn 缺乏 GPU 加速,这意味着它不适用于深度学习模型,也不被认为是“深度学习库”。尽管如此,它仍可作为测试想法和原型的实验室。

AI 学院

成为 AI 专家

获取相关知识,以确定 AI 投资的优先级,从而推动业务增长。立即开始观看我们的免费 AI 学院视频,引领 AI 在组织中的未来应用。

专用机器学习库

任何 ML 模型的核心,本质上即学习部分,都将在上述基础库之一上运行。但机器学习是一个复杂的多阶段过程,因此演化出有助于处理特定 ML 任务工作流的库。此外,不同行业(例如金融或医疗领域)和不同数据类型(例如图像或音频数据)差异显著,足以从专用 ML 库中受益。虽然研究这种复杂性所产生的近千个开源库超出了本文的范围,但举例说明几个特别流行的库仍有助益。

数据分析:pandas

Pandas 是用于数据科学的主要 Python 库,是任何 ML 工作的内核功能;与许多 ML 库一样,它也是创建在 NumPy 之上的。Pandas 比 NumPy 的数组更进一步,添加了一种类似于 Excel 电子表格的称为“数据框”的结构。这种附加结构使得对真实世界数据的大型数据集执行数据操作成为可能。

数据可视化:matplotlib 和 seaborn

为了从可视化数据中揭示模式和获取洞察,两个流行的数据可视化库是 matplotlib 和 seaorn。前者生成绘图和图表,后者构建于其上,使其更适应 ML(例如,seaborn 可直接处理 pandas 的数据框)。

实验跟踪:MLFlow

要启动一项可行的机器学习,需要进行大量的实验和试错才能取得成功。为此,MLFlow 库帮助团队记录 ML 模型、参数和结果,管理调试工作,帮助将训练好的模型转化为可以发布的产品。

相关解决方案
IBM® watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

深入了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的 AI 专业知识和解决方案组合,让 AI 在您的业务中发挥作用。

深入了解人工智能解决方案
人工智能 (AI) 咨询服务

IBM Consulting AI 服务有助于重塑企业利用 AI 实现转型的方式。

深入了解人工智能服务
采取下一步行动

通过使用 AI,IBM Concert 可揭示有关运营的重要洞察分析,并提供特定于应用程序的改进建议。了解 Concert 如何推动您的业务向前发展。

深入了解 Concert 深入了解业务流程自动化解决方案