公告社区

改进深度学习工作流程:PyTorch 生态系统工具

作者: 2024年5月11日2025年4月30日暂无评论

欢迎来到蓬勃发展的 PyTorch 生态系统,这里汇集了大量专门为提升开发者或研究人员的深度学习体验而构建的工具和库。生态系统工具页面收录了来自学术界、工业界、应用开发和机器学习领域专家的许多项目。

最初,PyTorch 旨在建立一个繁荣的社区,使开发者能够获取彼此的工具、参与有意义的讨论,并探索社区内丰富的资源。

如今,PyTorch 生态系统已发展壮大,拥有超过 100 个为您量身定制的项目,提供强大的支持、更快的速度以及与 PyTorch 的无缝集成。如果您的项目符合我们的使命,我们诚邀您提交并加入这个充满活力的生态系统。

本月的新消息是,我们将所有的生态系统博客迁移到了 PyTorch.org 网站,旨在为社区创造一个空间,让用户能够展示最新的创新成果。请继续阅读,了解生态系统中的最新项目!

探索生态系统中的最新工具与框架

步入 2024 年,我们很高兴展示一系列令人印象深刻的生态系统工具,它们极大地丰富了 PyTorch 社区。这些工具涵盖了姿态估计、性能分析,甚至量子计算等多个领域。让我们逐一探索,亲眼见证它们如何重塑 PyTorch 的版图,为开发者开启令人兴奋的可能性。

Anomalib

Anomalib 是一个深度学习库,旨在收集最先进的异常检测算法,以便在公共和私有数据集上进行基准测试。Anomalib 提供了近期文献中描述的多种现成异常检测算法的实现,以及一套有助于开发和实现自定义模型的工具。该库重点关注基于图像的异常检测,算法的目标是识别数据集中的异常图像,或图像中的异常像素区域。Anomalib 会不断更新最新的算法以及训练/推理扩展。

Diffusers

Diffusers 是用于生成图像、音频甚至分子 3D 结构的最先进预训练扩散模型的首选库。无论您是需要简单的推理解决方案,还是想训练自己的扩散模型,Diffusers 都是一个支持上述两者的模块化工具箱。

Pomegranate

Pomegranate 是一个与 PyTorch 无缝集成的多功能机器学习库。它为概率建模任务提供了广泛的概率模型和工具。Pomegranate 使开发者能够构建复杂的模型,如隐马尔可夫模型 (HMM)、贝叶斯网络和高斯混合模型 (GMM)。通过结合 PyTorch 和 Pomegranate 的优势,开发者可以利用深度学习和概率建模的力量来解决各种机器学习挑战。

PyPose

PyPose 是一个基于 PyTorch 的库,专为姿态估计任务而设计。借助 PyPose,开发者可以高效地训练和部署用于人体姿态估计的模型,这是计算机视觉中的一个基础性问题。通过利用 PyTorch 的灵活性和高性能,PyPose 简化了构建准确姿态估计模型的过程。其直观的 API 和预训练模型使其成为研究人员和开发者探索人体姿态估计应用的出色选择。

PyPOTS

一个基于 PyTorch 的 Python 工具箱/库,用于对部分观测的时间序列进行数据挖掘。它包括支持插补、分类、聚类和预测任务的最先进 (SOTA) 模型,适用于存在缺失值的不完整(非规则采样)多变量时间序列。

OctoML Profiler

OctoML Profiler 是一款性能分析工具,有助于优化 PyTorch 模型。该工具可帮助开发者识别深度学习模型中的性能瓶颈和效率低下问题。通过提供有关内存使用、计算时间和数据移动的见解,OctoML Profiler 使开发者能够微调模型以提高效率。凭借这些宝贵的反馈,开发者可以针对不同的硬件平台优化部署模型。

Open Compass

OpenCompass 是一个大模型评测一站式平台,旨在为大模型评测提供公平、开放、可复现的基准。其主要特点包括:对模型和数据集的全面支持、高效的分布式评测、多样化的评测范式、高可扩展性的模块化设计,以及完善的实验管理和报告机制。

Renate

Renate 是一个基于 PyTorch 的神经架构搜索 (NAS) 库。它简化了针对特定任务自动搜索最佳神经网络架构的过程。Renate 利用强化学习和进化算法等技术来高效探索架构空间。通过使用 Renate,开发者可以在发掘高性能模型的同时,节省大量的时间和资源。

RoMa

RoMa 是一个独立的 PyTorch 库,用于处理旋转表示(旋转矩阵、四元数、旋转向量等)。它旨在实现鲁棒性、易用性和高效性。

Substra

Substra 是一个开源的联邦学习 (FL) 软件。它支持在分布式数据集上进行机器学习模型的训练和验证。它提供了灵活的 Python 接口和 Web 应用程序,以实现大规模的联邦学习训练。Substra 主要用于生产环境,已被医院和生物技术公司部署使用。Substra 也可用于在单机上进行 FL 模拟和代码调试。

TorchQuantum

TorchQuantum 是一个功能强大的库,将 PyTorch 框架与量子计算概念相结合。它使开发者能够探索量子机器学习算法并构建混合经典-量子模型。通过将量子计算原理整合到 PyTorch 中,TorchQuantum 为解决传统深度学习方法难以处理的复杂问题开辟了新的可能性。

TIAToolbox

TIAToolbox(文本-图像-增强工具箱)是一个专为深度学习任务增强文本和图像数据的 PyTorch 库。它提供了一套全面的数据增强工具,包括变换、噪声注入以及图像/文本合成。通过应用 TIAToolbox,开发者可以丰富训练数据集,提高模型的泛化能力,并增强深度学习模型的鲁棒性。

torchdistill

torchdistill 是一个基于 PyTorch 构建的免编码框架,用于可复现的深度学习和知识蒸馏研究。该框架旨在让用户能够通过声明式的 PyYAML 配置文件来设计实验,并支持高阶模块抽象。

TorchOpt

TorchOpt 是一个专注于深度学习优化算法的 PyTorch 库。它提供了一系列最先进的优化技术,例如随机梯度下降 (SGD) 变体、自适应学习率方法和优化调度。TorchOpt 使开发者能够高效地微调模型,更快地收敛,并在各种深度学习任务中获得更好的性能。

USB

USB (Unified Speech-to-Text Benchmark) 是一个基于 PyTorch 的工具包,用于训练和评估语音识别模型。它提供了标准化的数据集和评估指标,以促进不同语音识别架构之间进行公平、准确的比较。通过使用 USB,研究人员和开发者可以将他们的模型与最先进的系统进行基准测试,并推动自动语音识别领域的进步。

Zeus

Zeus 是目前深度学习能源测量与优化领域的最先进技术。它包含允许用户测量 GPU 能耗的监控组件,以及基于监控组件的测量结果自动优化 DNN 或 GPU 参数的优化器组件。

加入我们的生态系统

我们多样化的生态系统工具是 PyTorch 成功的关键。它们为姿态估计、概率建模、性能分析、模型可解释性、语音识别、量子计算、数据增强、优化以及神经架构搜索等任务提供了必要的支持。

利用这些工具,开发者和研究人员能够加速他们的深度学习工作流程,并在 AI 领域开启新的可能性。

您是否有适合 PyTorch 生态系统的工具?如果您能回答以下问题,我们诚挚邀请您提交工具以供评估

  1. 您的项目是否是对 PyTorch 的补充,能否提升用户体验、引入新功能或加速训练与推理过程?
    • 例如:可视化工具、内核库,或者在特定领域(如自然语言处理 NLP)支撑研究的框架。
  2. 项目是否已准备好供广大开发者使用?
    • 例如:项目是否稳定?是否会持续维护?是否有足够的配套基础设施、文档和技术支持,以确保开发者能够成功使用它?

感谢生态系统中的所有贡献者和合作者!祝 2024 年取得辉煌成就。