Community 计算机视觉课程 文档
模型优化工具和框架
并获得增强的文档体验
开始使用
模型优化工具和框架
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 进行推理的好处如下
- 提高各种 ML 模型的推理性能。
- 在不同的硬件和操作系统上运行。
- 在 Python 中训练,但部署到 C#/C++/Java 应用程序中。
- 使用不同框架中创建的模型进行训练和推理。
有关 ONNX Runtime 的更多详细信息,请参阅此处。
安装指南
ONNX Runtime 有 2 个 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™ 工具包使用户能够优化来自几乎任何框架的深度学习模型,并在各种 Intel® 处理器和其他硬件平台上以一流的性能部署它。使用 OpenVINO 的好处包括
- 直接与 OpenVINO Runtime 链接以在本地运行推理,或使用 OpenVINO Model Server 从单独的服务器或 Kubernetes 环境中提供模型推理
- 编写一次应用程序,将其部署到您喜欢的设备、语言和操作系统上的任何位置
- 外部依赖项极少
- 通过使用 CPU 进行初始推理,然后在模型编译并加载到内存后切换到另一个设备,从而减少首次推理延迟
安装指南
Openvino 以 pip 包 openvino
的形式提供。要安装该软件包,请运行以下命令
pip install openvino
有关其他安装方法,请参阅此处。
实践指南
有关如何使用 OpenVINO 的实践指南,请参阅此notebook
Optimum
概述
Optimum 是 Transformers 的扩展,提供一套工具,旨在优化在特定硬件上训练和运行模型的性能,从而确保最大效率。在快速发展的 AI 领域,专业硬件和独特的优化不断涌现。Optimum 使开发人员能够无缝地利用这些不同的平台,同时保持 Transformers 固有的易用性。Optimum 目前支持的平台有
安装指南
Optimum 以 pip 包 optimum
的形式提供。要安装该软件包,请运行以下命令
pip install optimum
有关特定于加速器的功能的安装,请参阅此处。
实践指南
有关如何使用 Optimum 进行量化的实践指南,请参阅此notebook
EdgeTPU
概述
Edge TPU 是谷歌专为在边缘运行 AI 而构建的 ASIC。它在小巧的物理和功率占用空间内提供高性能,从而可以在边缘部署高精度 AI。使用 EdgeTPU 的好处包括
- 与 Cloud TPU 和 Google Cloud 服务互补,为基于 AI 解决方案的部署提供端到端、云到边缘、硬件 + 软件基础设施
- 在小巧的物理和功率占用空间内实现高性能
- 结合定制硬件、开放软件和最先进的 AI 算法,为边缘提供高质量、易于部署的 AI 解决方案
有关 EdgeTPU 的更多详细信息,请参阅此处
有关如何设置和使用 EdgeTPU 的指南,请参阅此notebook
< > 在 GitHub 上更新