快捷方式

ts.torch_handler package

子包

子模块

ts.torch_handler.base_handler module

用于加载 torchscript 或 eager mode [state_dict] 模型的基本默认处理器。此外,还根据 torch serve 自定义模型规范提供 handle 方法

class ts.torch_handler.base_handler.BaseHandler[source]

基类: ABC

用于加载 torchscript 或 eager mode [state_dict] 模型的基本默认处理器。此外,还根据 torch serve 自定义模型规范提供 handle 方法

describe_handle()[source]

自定义 describe 处理器

返回:

一个字典响应。

返回类型:

dict

explain_handle(data_preprocess, raw_data)[source]

Captum explanations 处理器

参数:
  • data_preprocess (Torch Tensor) – 用于 captum 的预处理数据

  • raw_data (list) – 用于从请求中获取目标的未处理数据

返回:

带有解释响应的字典响应。

返回类型:

dict

get_device()[source]

获取设备

返回:

self 设备

返回类型:

string

handle(data, context)[source]
默认处理器的入口点。它接收来自输入请求的数据并返回

输入的预测结果。

参数:
  • data (list) – 需要进行预测请求的输入数据。

  • context (Context) – 这是一个包含与模型 artifacts 参数相关信息的 JSON 对象。

返回:

返回一个带有预测响应的字典列表。

返回类型:

list

inference(*args, **kwargs)
initialize(context)[source]
Initialize 函数加载 model.pt 文件并初始化模型对象。

首先尝试加载 torchscript,否则加载基于 eager mode state_dict 的模型。

参数:
  • context (context) – 这是一个包含信息的 JSON 对象

  • 参数. (关于模型 artifacts 的) –

抛出异常:

RuntimeError – 当 model.py 缺失时抛出 Runtime 错误

postprocess(*args, **kwargs)
preprocess(*args, **kwargs)
ts.torch_handler.base_handler.setup_ort_session(model_pt_path, map_location)[source]

ts.torch_handler.contractions module

用于文本分类模型的缩写映射。

ts.torch_handler.densenet_handler module

图像分类默认处理器模块

class ts.torch_handler.densenet_handler.DenseNetHandler[source]

基类: object

DenseNetHandler 处理器类。此处理器接收一张图像并返回图像中对象的名称。

handle(data, context)[source]

默认处理器的入口点

inference(data, *args, **kwargs)[source]

重写以自定义推理 :param data: Torch tensor,匹配模型输入形状 :return: 作为 Torch tensor 的预测输出

initialize(context)[source]

首先尝试加载 torchscript,否则加载基于 eager mode state_dict 的模型

ts.torch_handler.densenet_handler.list_classes_from_module(module, parent_class=None)[source]

解析用户定义的模块以获取其中的所有模型服务类。

参数:
  • module

  • parent_class

返回:

模型服务类定义的列表

ts.torch_handler.image_classifier module

图像分类默认处理器模块

class ts.torch_handler.image_classifier.ImageClassifier[source]

基类: VisionHandler

ImageClassifier 处理器类。此处理器接收一张图像并返回图像中对象的名称。

get_max_result_classes()[source]
image_processing = Compose(     Resize(size=256, interpolation=bilinear, max_size=None, antialias=True)     CenterCrop(size=(224, 224))     ToTensor()     Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) )
postprocess(*args, **kwargs)
set_max_result_classes(topk)[source]
topk = 5

ts.torch_handler.image_segmenter module

图像分割默认处理器模块

class ts.torch_handler.image_segmenter.ImageSegmenter[source]

基类: VisionHandler

ImageSegmenter 处理器类。此处理器接收一批图像,并返回形状为 [N K H W] 的输出,其中 N - 批量大小,K - 类别数量,H - 高度和 W - 宽度。

image_processing = Compose(     Resize(size=256, interpolation=bilinear, max_size=None, antialias=True)     CenterCrop(size=(224, 224))     ToTensor()     Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]) )
postprocess(data)[source]

ts.torch_handler.object_detector module

对象检测默认处理器模块

class ts.torch_handler.object_detector.ObjectDetector[source]

基类: VisionHandler

ObjectDetector 处理器类。此处理器接收一张图像,并分别返回检测到的类别列表和边界框。

image_processing = Compose(     ToTensor() )
initialize(context)[source]
Initialize 函数加载 model.pt 文件并初始化模型对象。

首先尝试加载 torchscript,否则加载基于 eager mode state_dict 的模型。

参数:
  • context (context) – 这是一个包含信息的 JSON 对象

  • 参数. (关于模型 artifacts 的) –

抛出异常:

RuntimeError – 当 model.py 缺失时抛出 Runtime 错误

postprocess(data)[source]
threshold = 0.5

ts.torch_handler.text_classifier module

文本分类默认处理器模块 不支持批量处理!

class ts.torch_handler.text_classifier.TextClassifier[source]

基类: TextHandler, ABC

TextClassifier 处理器类。此处理器接收文本 (string) 作为输入,并根据模型词汇表返回分类文本。

get_insights(text_preprocess, _, target=0)[source]

计算 captum insights

参数:
  • text_preprocess (tensor) – 文本输入的 Tensor

  • _ (str) – 输入请求中指定的原始文本数据

  • target (int) – 默认为 0,用户需要为 captum explanation 指定目标。

返回:

返回一个包含单词 token 重要性的字典

返回类型:

(dict)

inference(data, *args, **kwargs)[source]

推理请求通过此函数完成,用户需要重写 inference 函数来对其进行自定义。

参数:

data (torch tensor) –

数据为 Torch Tensor 形式,其形状应与

模型输入形状匹配。

返回:

返回模型预测的响应

在此函数中。

返回类型:

(Torch Tensor)

ngrams = 2
postprocess(data)[source]
post process 函数将预测响应转换为

Torchserve 兼容格式

参数:
  • data (Torch Tensor) – data 参数来自预测输出

  • output_explain (None) – 默认为 None。

返回:

返回包含预测和解释的响应

(如果 Endpoint 被命中)。它是一个字典列表。

返回类型:

(list)

preprocess(data)[source]
使用以下基本清理操作标准化 PyTorch 模型的输入文本
  • 移除 html 标签

  • 将所有文本转为小写

  • 展开缩写 [例如 I’d -> I would, don’t -> do not]

  • 移除带重音的字符

  • 移除标点符号

使用 source_vocab 将标准化文本转换为 tensor。

参数:

data (str) – 输入数据为 string 形式

返回:

执行预处理操作后返回 Text Tensor (str): 此函数中也返回原始输入

返回类型:

(Tensor)

ts.torch_handler.text_handler module

所有基于文本的默认处理器的基本模块。包含各种基于文本的实用方法

class ts.torch_handler.text_handler.TextHandler[source]

基类: BaseHandler, ABC

所有基于文本的默认处理器的基类。包含各种基于文本的实用方法

get_source_vocab_path(ctx)[source]
get_word_token(input_tokens)[source]

从文本构建单词 token

initialize(context)[source]

加载模型并初始化必要的 artifacts

summarize_attributions(attributions)[source]

汇总多次运行的归因结果

ts.torch_handler.vision_handler module

所有视觉处理器的基本模块

class ts.torch_handler.vision_handler.VisionHandler[source]

基类: BaseHandler, ABC

所有视觉处理程序的基类

get_insights(tensor_data, _, target=0)[source]
initialize(context)[source]
Initialize 函数加载 model.pt 文件并初始化模型对象。

首先尝试加载 torchscript,否则加载基于 eager mode state_dict 的模型。

参数:
  • context (context) – 这是一个包含信息的 JSON 对象

  • 参数. (关于模型 artifacts 的) –

抛出异常:

RuntimeError – 当 model.py 缺失时抛出 Runtime 错误

preprocess(*args, **kwargs)

模块内容

文档

访问 PyTorch 全面的开发者文档

查看文档

教程

获取针对初学者和高级开发人员的深度教程

查看教程

资源

查找开发资源并获得问题解答

查看资源