自动补全示例#

此示例展示了如何在 Python 后端实现 auto_complete_config 函数,以提供 max_batch_sizeinputoutput 属性。这些属性将允许 Triton 在没有配置文件的情况下,使用 最小模型配置 加载 Python 模型。

模型仓库 应包含 nobatch_auto_completebatch_auto_complete 模型。nobatch_auto_complete 模型的 max_batch_size 设置为零,而 batch_auto_complete 模型的 max_batch_size 设置为 4。对于 max_batch_size 值非零的模型,配置可以指定不同的 max_batch_size 值,只要它不超过模型文件中设置的值。

nobatch_auto_completebatch_auto_complete 模型计算 INPUT0INPUT1 的和与差,并将结果分别放入 OUTPUT0OUTPUT1 中。

部署自动补全模型#

  1. 创建模型仓库

mkdir -p models/nobatch_auto_complete/1/
mkdir -p models/batch_auto_complete/1/

# Copy the Python models
cp examples/auto_complete/nobatch_model.py models/nobatch_auto_complete/1/model.py
cp examples/auto_complete/batch_model.py models/batch_auto_complete/1/model.py

请注意,我们不需要模型配置文件,因为 Triton 将使用 Python 模型中提供的自动补全模型配置。

  1. 启动 tritonserver

tritonserver --model-repository `pwd`/models

在 Nobatch 和 Batch 模型上运行推理:#

使用 client.py 发送推理请求。

python3 examples/auto_complete/client.py

您应该看到类似于以下输出的输出

'nobatch_auto_complete' configuration matches the expected auto complete configuration

'batch_auto_complete' configuration matches the expected auto complete configuration

PASS: auto_complete

nobatch_model.pybatch_model.py 模型文件包含大量注释,解释了如何使用 set_max_batch_sizeadd_inputadd_output 函数来设置模型的 max_batch_sizeinputoutput 属性。

客户端输出说明#

对于每个模型,client.py 首先从 Triton 请求模型配置,以验证模型配置是否已按预期注册。然后,客户端发送推理请求,以验证推理是否已正确运行且结果是否正确。