Python#
Triton 推理服务器进程内 Python API [BETA]#
从 24.01 版本开始,Triton 推理服务器将包含一个 Python 包,使开发人员能够在其 Python 应用程序中嵌入 Triton 推理服务器实例。进程内 Python API 旨在匹配进程内 C API 的功能,同时提供更高级别的抽象。该 API 的核心依赖于 C API 的 1:1 Python 绑定,并提供 C API 的所有灵活性和强大功能,以及更易于使用的界面。
[!Note] 由于 API 处于 BETA 阶段,请预期在我们测试不同功能并获得反馈时会进行一些更改。欢迎所有反馈,我们期待收到您的来信!
要求#
以下说明需要安装了 Docker 的 Linux 系统。对于 CUDA 支持,请确保您的 CUDA 驱动程序满足深度学习框架支持矩阵“NVIDIA 驱动程序”部分中的要求:https://docs.nvda.net.cn/deeplearning/frameworks/support-matrix/index.html
安装#
本教程和 Python API 包旨在在 nvcr.io/nvidia/tritonserver:24.01-py3
Docker 镜像中安装和运行。
提供了一组方便的脚本,用于创建基于 nvcr.io/nvidia/tritonserver:24.01-py3
镜像的 Docker 镜像,其中安装了 Python API 以及示例所需的其他依赖项。
Triton 推理服务器 24.01 + Python API#
克隆仓库#
构建 triton-python-api:r24.01
镜像#
支持的后端#
构建的镜像包含 tritonserver nvcr.io/nvidia/tritonserver:24.01-py3
容器中默认附带的所有后端。
dali fil identity onnxruntime openvino python pytorch repeat square tensorflow tensorrt
包含的模型#
default
构建包含一个 identity
模型,该模型可用于练习基本操作,包括发送不同数据类型的输入张量。identity
模型将提供的形状为 [-1, -1]
的输入复制到形状为 [-1, -1]
的输出。输入命名为 data_type_input
,输出命名为 data_type_output
(例如 string_input
、string_output
、fp16_input
、fp16_output
)。
Hello World#
启动 triton-python-api:r24.01
容器#
以下命令启动一个容器并将当前目录作为 workspace
卷挂载。
进入 Python Shell#
创建并启动服务器实例#
列出模型#
server.models()
示例输出#
server.models()
返回可用模型的字典及其当前状态。
发送推理请求#
迭代处理响应#
model.infer()
返回一个迭代器,可用于处理推理请求的结果。
示例输出#
Stable Diffusion#
此示例基于 Popular_Models_Guide/StableDiffusion 教程。
请注意,以下命令将花费数分钟,具体取决于您的硬件配置和网络连接。
构建的镜像包含 tritonserver nvcr.io/nvidia/tritonserver:24.01-py3
容器中默认附带的所有后端。
dali fil identity onnxruntime openvino python pytorch repeat square tensorflow tensorrt
diffusion
构建包含一个 stable_diffustion
管道,该管道接受文本提示并返回生成的图像。有关模型和管道的更多详细信息,请参阅 Popular_Models_Guide/StableDiffusion 教程。
启动容器#
以下命令启动一个容器并将当前目录作为 workspace
卷挂载。
进入 Python Shell#
创建并启动服务器实例#
列出模型#
server.models()
示例输出#
发送推理请求#
迭代处理响应并保存图像#
示例输出#

图 1 sample_generated_image#