社区计算机视觉课程文档
模型优化工具和框架
并获得增强的文档体验
开始使用
模型优化工具和框架
Tensorflow 模型优化工具包 (TMO)
概述
TensorFlow 模型优化工具包是一套用于优化机器学习模型以进行部署的工具。TensorFlow Lite 后训练量化工具使用户能够将权重转换为 8 位精度,从而将训练模型的尺寸减小约 4 倍。如果后训练量化不足,这些工具还包括在训练期间进行剪枝和量化的 API。这些工具有助于用户减少延迟和推理成本,将模型部署到资源受限的边缘设备,并优化现有硬件或新型专用加速器的执行。
设置指南
Tensorflow 模型优化工具包作为 pip 包 tensorflow-model-optimization
提供。要安装该包,请运行以下命令:
pip install -U tensorflow-model-optimization
实践指南
有关如何使用 Tensorflow 模型优化工具包的实践指南,请参阅此 notebook
PyTorch 量化
概述
为了优化模型,PyTorch 支持 INT8 量化,与典型的 FP32 模型相比,这使得模型大小减少 4 倍,内存带宽需求减少 4 倍。PyTorch 支持多种深度学习模型量化方法,如下所示:
- 模型以 FP32 格式训练,然后转换为 INT8 格式。
- 量化感知训练,即使用假量化模块在正向和反向传播中量化模型误差。
- 表示量化张量并对其进行操作。它们可用于直接构建全部或部分计算采用低精度的模型。
有关 PyTorch 中量化的更多详细信息,请参见此处
设置指南
PyTorch 量化作为 API 在 PyTorch 包中提供。要使用它,只需安装 PyTorch 并导入量化 API,如下所示:
pip install torch
import torch.quantization
实践指南
有关如何使用 PyTorch 量化的实践指南,请参阅此 notebook
ONNX Runtime
概述
ONNX Runtime 是一个跨平台机器学习模型加速器,具有灵活的接口以集成特定硬件库。ONNX Runtime 可与来自 PyTorch、Tensorflow/Keras、TFLite、scikit-learn 和其他框架的模型一起使用。使用 ONNX Runtime 进行推理的好处如下:
- 提高各种机器学习模型的推理性能。
- 在不同的硬件和操作系统上运行。
- 在 Python 中训练,但部署到 C#/C++/Java 应用程序中。
- 使用在不同框架中创建的模型进行训练和推理。
有关 ONNX Runtime 的更多详细信息,请参见此处。
设置指南
ONNX Runtime 有两个 Python 包,并且在任何一个环境中一次只能安装其中一个。如果要使用 ONNX Runtime 并支持 GPU,请使用 GPU 包。ONNX Runtime 的 Python 包作为 pip 包提供。要安装该包,请运行以下命令:
pip install onnxruntime
对于 GPU 版本,请运行以下命令:
pip install onnxruntime-gpu
实践指南
有关如何使用 ONNX Runtime 的实践指南,请参阅此 notebook
TensorRT
概述
NVIDIA® TensorRT™ 是一款用于优化已训练深度学习模型以实现高性能推理的 SDK。TensorRT 包含一个用于已训练深度学习模型的深度学习推理优化器和一个执行运行时。用户在选择的框架中训练深度学习模型后,TensorRT 使其能够以更高的吞吐量和更低的延迟运行。
设置指南
TensorRT 可作为 pip 包 tensorrt
使用。要安装该包,请运行以下命令:
pip install tensorrt
对于其他安装方法,请参阅此处。
实践指南
有关如何使用 TensorRT 的实践指南,请参阅此 notebook
OpenVINO
概述
OpenVINO™ 工具包使用户能够优化几乎任何框架的深度学习模型,并在各种英特尔® 处理器和其他硬件平台上以一流的性能部署它。使用 OpenVINO 的好处包括:
- 直接链接到 OpenVINO Runtime 以在本地运行推理,或使用 OpenVINO Model Server 从单独的服务器或 Kubernetes 环境中提供模型推理服务。
- 一次编写应用程序,即可在您喜欢的设备、语言和操作系统上的任何位置部署。
- 具有最少的外部依赖项。
- 通过使用 CPU 进行初始推理,然后在模型编译并加载到内存后切换到另一个设备,从而减少首次推理延迟。
设置指南
Openvino 可作为 pip 包 openvino
使用。要安装该包,请运行以下命令:
pip install openvino
有关其他安装方法,请参阅此处。
实践指南
有关如何使用 OpenVINO 的实践指南,请参阅此 notebook
Optimum
概述
Optimum 是 Transformers 的扩展,提供了一套旨在优化在特定硬件上训练和运行模型性能的工具,确保最大效率。在快速发展的人工智能领域,专门的硬件和独特的优化方案不断涌现。Optimum 使开发人员能够无缝利用这些多样化的平台,同时保持 Transformers 固有的易用性。Optimum 目前支持的平台有:
设置指南
Optimum 可作为 pip 包 optimum
使用。要安装该包,请运行以下命令:
pip install optimum
有关加速器特定功能的安装,请参阅此处。
实践指南
有关如何使用 Optimum 进行量化的实践指南,请参阅此 notebook
EdgeTPU
概述
Edge TPU 是谷歌专门构建的 ASIC,旨在边缘运行 AI。它在小巧的物理和功耗尺寸内提供高性能,从而实现高精度 AI 在边缘的部署。使用 EdgeTPU 的好处包括:
- 补充 Cloud TPU 和 Google Cloud 服务,为基于 AI 的解决方案部署提供端到端、云到边缘的硬件 + 软件基础设施
- 在小巧的物理和功耗尺寸内提供高性能
- 结合定制硬件、开放软件和最先进的 AI 算法,为边缘提供高质量、易于部署的 AI 解决方案
有关 EdgeTPU 的更多详细信息,请参阅此处
有关如何设置和使用 EdgeTPU 的指南,请参阅此 notebook
< > 在 GitHub 上更新