快捷方式

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 全面的開發者文件

檢視文件

教程

獲取針對初學者和高階開發人員的深度教程

檢視教程

資源

查詢開發資源並獲得問題解答

檢視資源