自动补全示例#
此示例展示了如何在 Python 后端实现 auto_complete_config
函数,以提供 max_batch_size
、input
和 output
属性。这些属性将允许 Triton 在没有配置文件的情况下,使用 最小模型配置 加载 Python 模型。
模型仓库 应包含 nobatch_auto_complete 和 batch_auto_complete 模型。nobatch_auto_complete 模型的 max_batch_size 设置为零,而 batch_auto_complete 模型的 max_batch_size 设置为 4。对于 max_batch_size 值非零的模型,配置可以指定不同的 max_batch_size 值,只要它不超过模型文件中设置的值。
nobatch_auto_complete 和 batch_auto_complete 模型计算 INPUT0
和 INPUT1
的和与差,并将结果分别放入 OUTPUT0
和 OUTPUT1
中。
部署自动补全模型#
创建模型仓库
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 模型中提供的自动补全模型配置。
启动 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.py 和 batch_model.py 模型文件包含大量注释,解释了如何使用 set_max_batch_size
、add_input
和 add_output
函数来设置模型的 max_batch_size
、input
和 output
属性。
客户端输出说明#
对于每个模型,client.py 首先从 Triton 请求模型配置,以验证模型配置是否已按预期注册。然后,客户端发送推理请求,以验证推理是否已正确运行且结果是否正确。