官方地址:PyTorch Landscape
模型
三维
PyTorch-Points3d:用于开发和测试常见深度学习模型以解决与非结构化 3D 空间数据相关的任务的框架。
PyTorch3D:PyTorch3D 是一个可重用组件库,用于使用 3D 数据进行深度学习。
RoMa:RoMa(代表旋转纵)提供 3D 旋转表示、从欧几里得到旋转空间的映射以及与旋转相关的各种实用程序之间的可微分映射。
对抗性和稳健性
AdverTorch:对抗稳健性研究的工具箱。
Captum:一个基于 PyTorch 构建的用于模型可解释性的开源可扩展库。
Ensemble-Pytorch:适用于 PyTorch 的统一集成框架,以提高基于集成深度学习模型的性能和稳健性。
pytorchfi:PyTorch 的运行时故障注入工具。
TorchDrift:TorchDrift 是 PyTorch 的数据和概念漂移库。它允许您监控 PyTorch 模型,以查看它们是否在规范范围内运行。
计算机视觉
Albumentations:一个用于图像增强的 Python 库,用于深度学习和计算机视觉任务,以提高训练模型的质量。图像增强的目的是从现有数据创建新的训练样本。
Anomalib:一个异常检测库,包含最先进的算法和功能,例如实验管理、超参数优化和边缘推理。
Detectron2:Decectron 是一个用于对象检测、分割和其他视觉识别任务的平台。
docTR:一个高性能且可访问的库,用于 OCR 相关任务,由 PyTorch 和 TensorFlow 2 提供支持。
Kornia:Kornia 是一个用于空间 AI 库的几何计算机视觉库,允许将经典计算机视觉集成到深度学习模型中。
Lightly:LightlySSL 是一个用于自我监督学习的计算机视觉框架。
MMEditing:图像和视频恢复、编辑和生成工具箱。
OpenMMLab:开源计算机视觉算法和模型。
pystiche:基于 PyTorch 构建的神经样式迁移 (NST) 框架。
raster-vision:Raster Vision 是一个开源库和框架,供 Python 开发人员在卫星、航空和其他大型影像集(包括倾斜无人机影像)上构建计算机视觉模型。内置了对使用 PyTorch 的芯片分类、对象检测和语义分割的支持。
torchvision:torchvision 软件包由常用的数据集、模型架构和计算机视觉的常见图像转换组成。
VISSL:用于从图像中进行最先进的自我监督学习的库。
语言
AllenNLP:基于 PyTorch 构建的 NLP 研究库,用于针对各种语言任务开发最先进的深度学习模型。
Flair:Flair 允许您将我们最先进的自然语言处理 (NLP) 模型应用于您的文本,例如命名实体识别 (NER)、情感分析、词性标记 (PoS)、对生物医学文本的特殊支持、意义消歧和分类,并支持快速增长的语言。
joeynmt:JoeyNMT 是一个用于教育目的的极简主义神经机器翻译工具包。
OpenCompass:OpenCompass 是一个 LLM 评估平台,支持超过 100+ 个数据集的广泛模型(Llama3、Mistral、InternLM2、GPT-4、LLaMa2、Qwen、GLM、Claude 等)。
ParlAI:用于在各种公开可用的对话数据集上训练和评估 AI 模型的框架。
PyTorch-NLP:PyTorch 自然语言处理 (NLP) 的基本实用程序。
TextBrewer:基于 PyTorch 的自然语言处理知识蒸馏工具包。
torchtext:torchtext 包由数据处理实用程序和自然语言的常用数据集组成。
torchtune:用于 LLM 微调的 Native-PyTorch 库。
Transformers:Transformers 提供了数千个预训练模型,用于在文本、视觉和音频等不同模态上执行任务。
医学与生物
Clinica DL:用于可重复神经成像处理的开源深度学习软件。它可以看作是 Clinica 的深度学习扩展,Clinica 是一个用于神经影像预处理和分析的开源 Python 库。
FuseMedML:一个 Python 框架,通过鼓励代码重用来加速医学领域中基于 ML 的发现。
GaNDLF:用于图像分割和分类的 Generally Nuanced Deep Learning Framework (GaNDLF),尤其是在生物医学领域。
MONAI:用于医疗保健成像的 AI 工具包。
TIAToolbox:TIAToolbox 是一个用于病理学图像分析的计算病理学工具箱。
torchdrug:强大而灵活的药物发现机器学习平台。
TorchIO:用于深度学习的医学成像工具包。
模态
MMF:一个用于视觉和语言多模式研究的模块化框架。
NeMo:一个可扩展的生成式 AI 框架,专为从事大型语言模型、多模态和语音 AI(自动语音识别和文本转语音)的研究人员和开发人员构建。
USB:用于开发和评估 Semi-suprevised 学习算法的基准测试工具。包括 14 种 SSL 算法的实现和 15 个用于评估 CV、NLP 和音频的任务。
量子
PennyLane:PennyLane 是一个用于量子计算、量子机器学习和量子化学的跨平台 Python 库。训练量子计算机的方式与神经网络相同。
强化学习
torchrl:TorchRL 是 PyTorch 的开源强化学习 (RL) 库。
专业
DGL:Python 软件包,旨在简化在现有 DL 框架之上对图形的深度学习。用于训练图形神经网络的快速且节省内存的消息传递原语。
Diffusers:用于生成图像、音频甚至分子 3D 结构的预训练扩散模型。无论您是在寻找简单的推理解决方案,还是想训练自己的扩散模型,Diffusers 都是一个模块化工具箱。
L5Kit:一个 python 库,具有为自动驾驶应用程序开发和训练学习预测、规划和仿真模型的功能。
PyPose:PyPose 是一个用于基于物理的优化的机器人学习库。
PyPOTS:用于部分观测时间序列机器学习的 Python 工具箱。
PyTorchVideo:用于视频理解研究的深度学习库。
SimulAI:一个带有数据驱动管道的工具包,用于基于物理的机器学习。
torchaudio:Torchaudio 是一个使用 PyTorch 进行音频和信号处理的库。它提供 I/O、信号和数据处理功能、数据集、模型实现和应用程序组件。
torchgeo:TorchGeo 是一个工具包,包含地理空间数据的数据集、采样器、转换和预训练模型。
torchrec:TorchRec 是 PyTorch 生态系统中的一个专用库,专为构建、扩展和部署大规模推荐系统而量身定制。
优化
编译器和运行时
Depyf:depyf 是一个工具,可帮助您了解调试并深入了解 pytorch.compile。
Glow:Glow 是用于硬件加速器的机器学习编译器和执行引擎。它旨在用作高级机器学习框架的后端。该编译器旨在允许最先进的编译器优化和神经网络图的代码生成。
intel-extension-for-pytorch:用于优化 Intel 平台上性能的 Python 扩展。
OctoML Profiler:octoml-profile 是一个 Python 库和云服务,使 ML 工程师能够使用最先进的 ML 加速技术轻松评估 PyTorch 模型在云硬件上的性能和成本。
ONNX runtime:高性能 ML 推理和训练加速器。
PopTorch:PopTorch是PyTorch的一组扩展,使模型能够在Graphcore IPU上进行训练、评估和使用。
PyTorchXLA:PyTorch 在具有 torch_xla 软件包的 XLA 设备(如 TPU)上运行。
Speedster:Speedster 通过利用 SOTA 优化技术来降低推理成本,这些技术将您的 AI 模型与底层硬件(GPU 和 CPU)最佳耦合。
Torch-TensorRT:Torch-TensorRT 是 PyTorch 的推理编译器,通过 NVIDIA 的 TensorRT 深度学习优化器和运行时以 NVIDIA GPU 为目标。
分布式
DeepSpeed:DeepSpeed 是一个深度学习优化库,使分布式训练和推理变得简单、高效和有效。
FairScale:PyTorch 扩展库,用于高性能和大规模训练。此库扩展了基本的 PyTorch 功能,同时添加了新的 SOTA 扩展技术。
Horovod:Horovod 是适用于 TensorFlow、Keras、PyTorch 和 Apache MXNet 的分布式深度学习训练框架。
常规
einops:灵活而强大的张量作,用于可读和可靠的代码(适用于 pytorch、jax、TF 等)。
higher:Higher 是一个 PyTorch 库,允许用户在跨训练循环而不是单个训练步骤的损失上获得更高阶的梯度。
ivy:在框架之间转换机器学习代码。
neural-compressor:一个开源 Python 库,支持所有深度学习框架上的常用模型压缩技术。
SGLang:SGLang 是适用于大型语言模型和视觉语言模型的快速服务框架。
tensordict:TensorDict 是一个类似字典的类,它继承了张量的属性,例如索引、形状作、转换为设备等。
TensorLy:TensorLy 是一个 Python 库,旨在使张量学习变得简单易行。它允许轻松执行张量分解、张量学习和张量代数。它的后端系统允许使用 NumPy、PyTorch、JAX、TensorFlow、CuPy 或 Paddle 无缝执行计算,并在 CPU 或 GPU 上大规模运行方法。
torchao:用于自定义数据类型和优化的 PyTorch 库。量化和稀疏化权重、梯度、优化器和激活,用于推理和训练。
torcharrow:TorchArrow 是一个火炬。类似张量的 Python DataFrame 库,用于深度学习中的数据预处理。它支持多个执行运行时和 Arrow 作为通用格式。
Torchopt:基于 PyTorch 构建的高效可微优化库。
TorchServe:TorchServe 是一种高性能、灵活且易于使用的工具,用于在生产环境中为 PyTorch 模型提供服务。
vLLM:vLLM 是一个快速且易于使用的 LLM 推理和服务库。
Zeus:Zeus 是一个用于测量深度学习工作负载能耗并优化其能耗的库。
MLOps
accelerate:Accelerate 是一个库,支持在分布式配置中运行相同的 PyTorch 代码。
Clear ML:简化 AI 工作流程的工具套件。
Determined:Determined 是一个开源机器学习平台,可简化分布式训练、超参数优化、实验跟踪和资源管理。适用于 PyTorch 和 TensorFlow。
forte:Forte 是一个灵活而强大的 ML 工作流构建器。
Hydra:简化了研究和其他复杂应用程序的开发。关键功能是能够通过组合动态创建分层配置,并通过配置文件和命令行覆盖它。Hydra 这个名字来自于它能够运行多个类似的作业 - 很像具有多个头的 Hydra。
padl:PyTorch 的管道构建器。
Polyaxon:用于管理和编排机器学习生命周期的MLOps工具。
训练
持续学习
avalanche:Avalanche 是基于 PyTorch 的端到端持续学习库,用于快速原型设计、训练和持续学习算法的可重现评估。
Renate:Renate 是一个用于神经网络模型自动再训练的 Python 包。它使用先进的持续学习和终身学习算法来实现此目的。
分布式
Ray:Ray 是用于扩展 AI 和 Python 应用程序的统一框架。Ray 由一个核心分布式运行时和一组用于加速 ML 工作负载的 AI 库组成。
联合学习
Flower:联合学习、分析和评估的统一方法。联合任何工作负载、任何 ML 框架和任何编程语言。
Substra:Substra 用于大规模运行复杂的联邦学习实验。
常规
AdaptDL:AdaptDL 是一个资源自适应深度学习 (DL) 训练和调度框架,是 CASL 开源项目的一部分。
Catalyst:Catalyst 是一个用于深度学习研究和开发的 PyTorch 框架。它专注于可重复性、快速实验和代码库重用,因此您可以创建新内容,而不是编写另一个训练循环。
ColossalAI:启动分布式训练和推理的工具。
composer:针对可扩展性和可用性进行了优化的开源深度学习训练库,集成了高效多节点训练的最佳实践。
fastai:FastAI 是一个深度学习库,它为从业者提供了高级组件,这些组件可以快速轻松地在标准深度学习领域提供最先进的结果,并为研究人员提供可以混合和匹配以构建新方法的低级组件。
Hummingbird:Hummingbird 是一个库,用于将经过训练的传统 ML 模型编译成张量计算。Hummingbird 允许用户无缝利用神经网络框架(例如 PyTorch)来加速传统的 ML 模型。
Ignite:高级库,可帮助在 PyTorch 中训练和评估神经网络。
ludwig:Ludwig 是一个低代码框架,用于构建自定义 AI 模型,如 LLM 和其他深度神经网络。
Poutyne:Poutyne 是 PyTorch 的简化框架,可处理训练神经网络所需的大部分样板代码。
PyTorch Lightning:在多个 GPU、TPU 上预训练、微调和部署 AI 模型,无需更改代码。
skorch:一个封装 PyTorch 的兼容 scikit-learn 的神经网络库。
stoke:PyTorch 的轻量级包装器,提供一个简单的声明性 API,用于在设备(例如 CPU、GPU)、分布式模式、混合精度和 PyTorch 扩展之间进行上下文切换。这允许您通过简单地更改一些声明性标志,从本地全精度 CPU 切换到带有扩展(如优化器状态分片)的混合精度分布式多 GPU。
torchdata:一个包含常见模块化数据加载基元的 Beta 库,用于轻松构建灵活且高性能的数据管道。
torchdistill:提供各种最先进的知识蒸馏方法,让您只需编辑声明性 yaml 配置文件即可设计(新)实验。
TorchMetrics:分布式、可扩展的 PyTorch 应用程序的机器学习指标。
图
PyTorch Geometric:适用于 PyTorch 的图形神经网络库。
PyTorch Geometric Temporal:PyTorch Geometric Temporal 是一种使用神经机器学习模型的时空信号处理。
模态
PyKale:PyKale 具有基于管道的统一 API,目前专注于图形、图像和视频的多模态学习和迁移学习,并支持深度学习和降维模型。
隐私
CrypTen:CrypTen 是使用 PyTorch 编写的隐私保护机器学习框架,用于使用加密数据训练模型。它目前尚未准备好生产,其主要用途是作为研究框架。
Opacus:使用差分隐私训练 PyTorch 模型。
PySyft:对保留在其他人服务器中的数据执行数据科学。
概率和优化
baal:Baal 是一个贝叶斯主动学习库。提供进行后验分布采样的方法,以便在主动学习期间最大限度地提高标记效率。我们的库适用于研究和工业应用。
BoTorch:高效的 Monte-Carlo 贝叶斯优化框架。
GPyTorch:GPyTorch 是使用 PyTorch 实现的高斯过程库。GPyTorch 旨在轻松创建可扩展、灵活和模块化的高斯过程模型。
Optuna:Optuna 是一个自动超参数优化软件框架,专为机器学习而设计。
Pomegranate:pomegranate 是一个 Python 包,可实现快速灵活的概率模型,范围从单个概率分布到组合模型,例如贝叶斯网络和隐马尔可夫模型。
Pyro:使用 Python 和 PyTorch 进行深度通用概率编程。
量子
TorchQuantum:用于量子经典模拟、量子机器学习、量子神经网络、参数化量子电路的框架,支持在真实量子计算机上轻松部署。
强化学习
PFRL:PFRL 是一个基于 PyTorch 的深度强化学习库。
Stable Baselines3:Stable Baselines3 (SB3) 是一组强化学习算法的实现。
自监督
PyTorch Metric Learning:用于深度度量学习的模块化、灵活且可扩展的库。