欢迎来到蓬勃发展的 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,开发者可以高效地训练和部署用于人体姿态估计(一个基础的计算机视觉问题)的模型。PyPose 利用 PyTorch 的灵活性和性能,简化了构建精确姿态估计模型的过程。其直观的 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(Text-Image-Augmentation Toolbox)是一个 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 生态系统的工具?如果您能回答以下问题,我们非常欢迎您提交您的工具进行审核。
- 您的项目是否与 PyTorch 互补,增强用户体验、引入新功能或加速训练和推理过程?
- 示例包括可视化工具、内核库或基于 PyTorch 构建的框架,用于支持特定领域(例如 NLP)的研究。
- 项目是否已准备好供广大开发者使用?
- 例如,项目是否稳定,是否会得到维护,以及是否有足够的支持基础设施、文档和技术支持,以便开发者成功使用它?
感谢生态系统中的所有贡献者和协作者!祝愿 2024 年取得巨大成就。