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_classifier
, text_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:
-
以 BaseHandler 为基类,编写一个派生类. 将其作为单位的文件添加到
ts/torch_handler/
-
更新
model-archiver/model_packaging.py
去添加你的类名 -
在 unit_tests 运行和更新测试单元. 与往常一样,确保在提交前运行torchserve_sanity.py .