Torchserve(四) —— 默认Handlers

7. torchserve 默认 inference handlers

torchserve支持四种开箱即用的inference handlers(推理操作),每一个模型推理都支持批处理。

7.1. image_classifier 图像分类器

  • Description : 在ImageNet 数据集上训练的图像分类模型的操作。

  • Input : RGB 图像 

  • Output : 批处理中的Top 5预测和图像对应的概率。

更多详细查阅 examples

 

7.2. image_segmenter 图像分割

  • Description : 在ImageNet数据集上训练的图像分割模型的操作。

  • Input : RGB 图像

  • Output : 输出shape为[N, CL H W], N - batch size, CL - number of classes, H - height and W - width.

更多详细查阅 examples

 

7.3. object_detector 目标检测

  • Description : 目标检测模型的操作.

  • Input : RGB 图像

  • Output : 分别检测到的类别和边界框的批次列表

注意:我们建议运行,torchvision>0.6否则 object_detector 默认处理程序将仅在默认 GPU 设备上运行

更多详细查阅 examples

 

7.4. text_classifier

  • Description : 处理在 AG_NEWS 数据集上训练的模型。

  • Input : 文本文件

  • Output : 输入文本的类别。(不支持批处理)

更多详细查阅 examples

更多可用的handlers请查阅 examples page

 

7.5. 共同特征

7.5.1. index_to_name.json

image_classifiertext_classifier 和 object_detector 都可以自动从数字类(0,1,2…) 映射到友好的字符串。为此,只需要在你的MAR模型存档文件中包含一个文件 index_to_name.json, 该文件包含了从数字类到名称的映射。可以看下面的一些例子:

如text_classifier的index_to_name.json文件:

{
 "0":"World",
 "1":"Sports",
 "2":"Business",
 "3":"Sci/Tec"
}

 

7.5.2. 自定义Handlers

欢迎提交新的handlers, 如果现有默认处理程序之一未涵盖您的用例,请按照以下步骤自定义创建Handlers:

  1. 以 BaseHandler 为基类,编写一个派生类. 将其作为单位的文件添加到 ts/torch_handler/

  2. 更新 model-archiver/model_packaging.py 去添加你的类名

  3. 在 unit_tests 运行和更新测试单元. 与往常一样,确保在提交前运行torchserve_sanity.py .

 

posted @ 2022-06-14 16:36  IllidanStormrage  阅读(243)  评论(0编辑  收藏  举报