tritonclient.http#

class tritonclient.http.InferAsyncRequest(greenlet, verbose=False)#

InferAsyncRequest 类的对象用于描述正在进行的异步推理请求的句柄。

参数:
  • greenlet (gevent.Greenlet) – 将提供结果的 greenlet 对象。有关 greenlet 的更多详细信息,请参阅 http://www.gevent.org/api/gevent.greenlet.html

  • verbose (bool) – 如果为 True,则生成详细输出。默认值为 False。

get_result(block=True, timeout=None)#

获取关联的异步推理的结果。

参数:
  • block (bool) – 如果 block 为 True,则该函数将等待,直到从服务器收到相应的响应。默认值为 True。

  • timeout (int) – 函数的最大等待时间。如果 block 设置为 False,则忽略此设置。默认为 None,这意味着该函数将无限期阻塞,直到收到相应的响应。

返回值:

保存异步推理结果的对象。

返回类型:

InferResult

引发:

InferenceServerException – 如果服务器无法执行推理或未能在指定的超时时间内响应。

class tritonclient.http.InferInput(name, shape, datatype)#

InferInput 类的对象用于描述推理请求的输入张量。

参数:
  • name (str) – 输入的名称,其数据将由此对象描述

  • shape (list) – 关联输入的形状。

  • datatype (str) – 关联输入的数据类型。

_get_binary_data()#

返回原始二进制数据(如果可用)

返回值:

输入张量的原始数据

返回类型:

bytes

_get_tensor()#

以 json 字典形式检索底层输入。

返回值:

底层张量规范,以字典形式表示

返回类型:

dict

datatype()#

获取与此对象关联的输入的数据类型。

返回值:

输入的数据类型

返回类型:

str

name()#

获取与此对象关联的输入的名称。

返回值:

输入的名称

返回类型:

str

set_data_from_numpy(input_tensor, binary_data=True)#

从此对象关联的输入的指定 numpy 数组设置张量数据。

参数:
  • input_tensor (numpy array) – numpy 数组格式的张量数据

  • binary_data (bool) – 指示是否以二进制格式或 JSON 中的显式张量设置输入数据。默认值为 True,这意味着数据将在 JSON 对象之后作为 HTTP 正文中的二进制数据传递。

返回值:

更新后的输入

返回类型:

InferInput

引发:

InferenceServerException – 如果无法设置张量的数据。

set_shape(shape)#

设置输入的形状。

参数:

shape (list) – 关联输入的形状。

返回值:

更新后的输入

返回类型:

InferInput

set_shared_memory(region_name, byte_size, offset=0)#

从指定的共享内存区域设置张量数据。

参数:
  • region_name (str) – 保存张量数据的共享内存区域的名称。

  • byte_size (int) – 保存张量数据的共享内存区域的大小。

  • offset (int) – 数据张量在区域中开始的偏移量(以字节为单位)。默认值为 0。

返回值:

更新后的输入

返回类型:

InferInput

shape()#

获取与此对象关联的输入的形状。

返回值:

输入的形状

返回类型:

list

class tritonclient.http.InferRequestedOutput(name, binary_data=True, class_count=0)#

InferRequestedOutput 类的对象用于描述推理请求的请求输出张量。

参数:
  • name (str) – 要与此对象关联的输出张量的名称。

  • binary_data (bool) – 指示是以二进制格式还是 JSON 中的显式张量返回输出的结果数据。默认值为 True,这意味着数据将在 JSON 对象之后作为 HTTP 正文中的二进制数据传递。如果为输出设置了共享内存,则将取消设置此字段。

  • class_count (int) – 要请求的分类数。默认值为 0,这意味着不请求分类结果。

_get_tensor()#

以 json 字典形式检索底层输入。

返回值:

作为字典的底层张量

返回类型:

dict

name()#

获取与此对象关联的输出的名称。

返回值:

输出的名称

返回类型:

str

set_shared_memory(
region_name,
byte_size,
offset=0,
)#

标记输出以在指定的共享内存区域中返回推理结果。

参数:
  • region_name (str) – 用于保存张量数据的共享内存区域的名称。

  • byte_size (int) – 用于保存张量数据的共享内存区域的大小。

  • offset (int) – 数据张量在区域中开始的偏移量(以字节为单位)。默认值为 0。

unset_shared_memory()#

清除上次调用 InferRequestedOutput.set_shared_memory() 设置的共享内存选项。调用此函数后,请求的输出将不再在共享内存区域中返回。

class tritonclient.http.InferResult(response, verbose)#

InferResult 类的对象保存推理请求的响应,并提供检索推理结果的方法。

参数:
  • response (geventhttpclient.response.HTTPSocketPoolResponse) – 来自服务器的推理响应

  • verbose (bool) – 如果为 True,则生成详细输出。默认值为 False。

as_numpy(name)#

以 numpy 格式获取与此对象关联的输出的张量数据

参数:

name (str) – 要检索其结果的输出张量的名称。

返回值:

包含张量的响应数据的 numpy 数组,如果未找到指定张量名称的数据,则为 None。

返回类型:

numpy array

classmethod from_response_body(
response_body,
verbose=False,
header_length=None,
content_encoding=None,
)#

一个类方法,用于从给定的“response_body”构造 InferResult 对象。

参数:
  • response_body (bytes) – 来自服务器的推理响应

  • verbose (bool) – 如果为 True,则生成详细输出。默认值为 False。

  • header_length (int) – 如果标头未占用整个响应正文,则为推理标头的长度。默认值为 None。

  • content_encoding (string) – 如果响应正文被压缩,则为响应正文的编码。默认值为 None。

返回值:

从响应正文生成的 InferResult 对象

返回类型:

InferResult

get_output(name)#

检索与命名输出对应的输出张量。

参数:

name (str) – 要检索输出的张量的名称。

返回值:

如果推理响应中存在具有指定名称的输出张量,则将其作为 json 字典返回,否则返回 None。

返回类型:

Dict

get_response()#

检索完整响应

返回值:

底层响应字典。

返回类型:

dict

class tritonclient.http.InferenceServerClient(
url,
verbose=False,
concurrency=1,
connection_timeout=60.0,
network_timeout=60.0,
max_greenlets=None,
ssl=False,
ssl_options=None,
ssl_context_factory=None,
insecure=False,
)#

InferenceServerClient 对象用于使用 http 协议执行与 InferenceServer 的任何类型的通信。所有方法都不是线程安全的。该对象旨在供单个线程使用,并且不支持同时使用不同线程调用不同的方法,这将导致未定义的行为。

参数:
  • url (str) – 推理服务器名称、端口和可选基本路径,格式如下:host:port/<base-path>,例如“localhost:8000”。

  • verbose (bool) – 如果为 True,则生成详细输出。默认值为 False。

  • concurrency (int) – 为此客户端创建的连接数。默认值为 1。

  • connection_timeout (float) – 连接的超时值。默认值为 60.0 秒。

  • network_timeout (float) – 网络的超时值。默认值为 60.0 秒

  • max_greenlets (int) – 确定处理异步推理请求的最大允许 worker greenlet 数量。默认值为 None,这意味着对创建的 greenlet 数量没有限制。

  • ssl (bool) – 如果为 True,则将请求通道化到加密的 https 方案。某些不正确的设置可能会导致连接过早终止且握手不成功。有关使用安全默认设置的信息,请参阅 ssl_context_factory 选项。此选项的默认值为 False。

  • ssl_options (dict) – ssl.wrap_socket 支持的任何选项,以字典形式指定。如果“ssl”指定为 False,则忽略该参数。

  • ssl_context_factory (SSLContext callable) – 它必须是返回 SSLContext 的可调用对象。设置为 gevent.ssl.create_default_context 以使用具有安全默认设置的上下文。这很可能以安全的方式解决连接问题。此选项的默认值为 None,它直接使用通过 ssl_options 提供的选项包装套接字。如果“ssl”指定为 False,则忽略该参数。

  • insecure (bool) – 如果为 True,则不将主机名与证书匹配。默认值为 False。如果“ssl”指定为 False,则忽略该参数。

引发:

Exception – 如果无法创建客户端。

_get(request_uri, headers, query_params)#

向服务器发出 GET 请求

参数:
  • request_uri (str) – 要在 GET 请求中使用的请求 URI。

  • headers (dict) – 要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

返回值:

来自服务器的响应。

返回类型:

geventhttpclient.response.HTTPSocketPoolResponse

_post(
request_uri,
request_body,
headers,
query_params,
)#

向服务器发出 POST 请求

参数:
  • request_uri (str) – 要在 POST 请求中使用的请求 URI。

  • request_body (str) – 请求的正文

  • headers (dict) – 要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

返回值:

来自服务器的响应。

返回类型:

geventhttpclient.response.HTTPSocketPoolResponse

_validate_headers(headers)#

在处理请求之前检查任何不受支持的 HTTP 标头。

参数:

headers (dict) – 在处理请求之前要验证的 HTTP 标头。

引发:

InferenceServerException – 如果请求中包含不受支持的 HTTP 标头。

async_infer(
model_name,
inputs,
model_version='',
outputs=None,
request_id='',
sequence_id=0,
sequence_start=False,
sequence_end=False,
priority=0,
timeout=None,
headers=None,
query_params=None,
request_compression_algorithm=None,
response_compression_algorithm=None,
parameters=None,
)#

使用提供的“inputs”运行异步推理,请求“outputs”指定的输出。即使此调用是非阻塞的,但是,到服务器的实际并发请求数将受到创建此客户端时指定的“concurrency”参数的限制。换句话说,如果 inflight async_infer 超过指定的“concurrency”,则超出请求的传递将被阻止,直到通过检索先前发出的请求的结果来提供插槽。

参数:
  • model_name (str) – 要运行推理的模型的名称。

  • inputs (list) – InferInput 对象的列表,每个对象描述模型所需的输入张量的数据。

  • model_version (str) – 要运行推理的模型的版本。默认值为空字符串,这意味着服务器将根据模型和内部策略选择版本。

  • outputs (list) – InferRequestedOutput 对象的列表,每个对象描述必须如何返回输出数据。如果未指定,则将使用默认设置返回模型生成的所有输出。

  • request_id (str) – 请求的可选标识符。如果指定,将在响应中返回。默认值为“None”,这意味着将不使用 request_id。

  • sequence_id (int) – 对象表示的序列的唯一标识符。默认值为 0,这意味着请求不属于序列。

  • sequence_start (bool) – 指示正在添加的请求是否标记序列的开始。默认值为 False。如果“sequence_id”为 0,则忽略此参数。

  • sequence_end (bool) – 指示正在添加的请求是否标记序列的结束。默认值为 False。如果“sequence_id”为 0,则忽略此参数。

  • priority (int) – 指示请求的优先级。优先级值零表示应使用默认优先级级别(即与不指定优先级参数的行为相同)。较低的值优先级表示较高的优先级级别。因此,最高优先级级别由将参数设置为 1 表示,下一个最高优先级级别为 2,依此类推。如果未提供,服务器将使用模型的默认设置处理请求。

  • timeout (int) – 请求的超时值(以微秒为单位)。如果请求无法在时间内完成,则服务器可以采取特定于模型的操作,例如终止请求。如果未提供,服务器将使用模型的默认设置处理请求。此选项仅受配置了动态批处理的模型支持。有关更多详细信息,请参阅此处:triton-inference-server/server

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

  • request_compression_algorithm (str) – 可选的 HTTP 压缩算法,用于客户端的请求正文。当前支持“deflate”、“gzip”和 None。默认情况下,不使用压缩。

  • response_compression_algorithm (str) – 请求响应正文的可选 HTTP 压缩算法。请注意,如果服务器不支持指定的算法,则响应可能未压缩。当前支持“deflate”、“gzip”和 None。默认情况下,不请求压缩。

  • parameters (dict) – 要包含在推理请求中的可选自定义参数。

返回值:

异步推理请求的句柄。

返回类型:

InferAsyncRequest

引发:

InferenceServerException – 如果服务器无法发出推理。

close()#

关闭客户端。将来对服务器的任何调用都将导致错误。

static generate_request_body(
inputs,
outputs=None,
request_id='',
sequence_id=0,
sequence_start=False,
sequence_end=False,
priority=0,
timeout=None,
parameters=None,
)#

使用提供的“inputs”生成推理请求正文,请求“outputs”指定的输出。

参数:
  • inputs (list) – InferInput 对象的列表,每个对象描述模型所需的输入张量的数据。

  • outputs (list) – InferRequestedOutput 对象的列表,每个对象描述必须如何返回输出数据。如果未指定,则将使用默认设置返回模型生成的所有输出。

  • request_id (str) – 请求的可选标识符。如果指定,将在响应中返回。默认值为空字符串,这意味着将不使用 request_id。

  • sequence_id (intstr) – 对象表示的序列的唯一标识符。值 0 或 “” 表示请求不属于序列。默认为 0。

  • sequence_start (bool) – 指示正在添加的请求是否标记序列的开始。默认值为 False。如果“sequence_id”为 0,则忽略此参数。

  • sequence_end (bool) – 指示正在添加的请求是否标记序列的结束。默认值为 False。如果“sequence_id”为 0,则忽略此参数。

  • priority (int) – 指示请求的优先级。优先级值零表示应使用默认优先级级别(即与不指定优先级参数的行为相同)。较低的值优先级表示较高的优先级级别。因此,最高优先级级别由将参数设置为 1 表示,下一个最高优先级级别为 2,依此类推。如果未提供,服务器将使用模型的默认设置处理请求。

  • timeout (int) – 请求的超时值(以微秒为单位)。如果请求无法在时间内完成,则服务器可以采取特定于模型的操作,例如终止请求。如果未提供,服务器将使用模型的默认设置处理请求。此选项仅受配置了动态批处理的模型支持。有关更多详细信息,请参阅此处:triton-inference-server/server

  • parameters (dict) – 要包含在“parameters”字段中的可选字段。

返回值:

  • Bytes – 推理的请求正文。

  • Int – 请求正文中推理请求标头的字节大小。如果整个请求正文构成请求标头,则返回 None。

引发:

InferenceServerException – 如果服务器无法执行推理。

get_cuda_shared_memory_status(
region_name='',
headers=None,
query_params=None,
)#

从服务器请求 cuda 共享内存状态。

参数:
  • region_name (str) – 要查询状态的区域的名称。默认值为空字符串,这意味着将返回所有活动 cuda 共享内存的状态。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

保存 cuda 共享内存状态的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取指定共享内存的状态。

get_inference_statistics(
model_name='',
model_version='',
headers=None,
query_params=None,
)#

获取指定模型名称和版本的推理统计信息。

参数:
  • model_name (str) – 要获取统计信息的模型的名称。默认值为空字符串,这意味着将返回所有模型的统计信息。

  • model_version (str) – 要获取推理统计信息的模型的版本。默认值为空字符串,这意味着服务器将返回所有可用模型版本的统计信息。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

保存模型推理统计信息的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取模型推理统计信息。

get_log_settings(
headers=None,
query_params=None,
)#

获取 Triton 服务器的全局日志设置

参数:
  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

保存日志设置的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取日志设置。

get_model_config(
model_name,
model_version='',
headers=None,
query_params=None,
)#

联系推理服务器并获取指定模型的配置。

参数:
  • model_name (str) – 模型的名称

  • model_version (str) – 要获取配置的模型的版本。默认值为空字符串,这意味着服务器将根据模型和内部策略选择版本。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

保存模型配置的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取模型配置。

get_model_metadata(
model_name,
model_version='',
headers=None,
query_params=None,
)#

联系推理服务器并获取指定模型的元数据。

参数:
  • model_name (str) – 模型的名称

  • model_version (str) – 要获取元数据的模型的版本。默认值为空字符串,这意味着服务器将根据模型和内部策略选择版本。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

保存元数据的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取模型元数据。

get_model_repository_index(
headers=None,
query_params=None,
)#

获取模型仓库内容的索引

参数:
  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

保存模型仓库索引的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取仓库索引。

get_server_metadata(
headers=None,
query_params=None,
)#

联系推理服务器并获取其元数据。

参数:
  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

返回值:

保存元数据的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取服务器元数据。

get_system_shared_memory_status(
region_name='',
headers=None,
query_params=None,
)#

从服务器请求系统共享内存状态。

参数:
  • region_name (str) – 用于查询状态的区域名称。默认值为空字符串,表示将返回所有活动系统共享内存的状态。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

包含系统共享内存状态的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取指定共享内存的状态。

get_trace_settings(
model_name=None,
headers=None,
query_params=None,
)#

获取指定模型名称的跟踪设置,如果未提供模型名称,则获取全局跟踪设置

参数:
  • model_name (str) – 要获取跟踪设置的模型名称。指定 None 或空字符串将返回全局跟踪设置。默认值为 None。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

包含跟踪设置的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法获取跟踪设置。

infer(
model_name,
inputs,
model_version='',
outputs=None,
request_id='',
sequence_id=0,
sequence_start=False,
sequence_end=False,
priority=0,
timeout=None,
headers=None,
query_params=None,
request_compression_algorithm=None,
response_compression_algorithm=None,
parameters=None,
)#

使用提供的 ‘inputs’ 运行同步推理,并请求 ‘outputs’ 中指定的输出。

参数:
  • model_name (str) – 要运行推理的模型的名称。

  • inputs (list) – InferInput 对象的列表,每个对象描述模型所需的输入张量的数据。

  • model_version (str) – 要运行推理的模型的版本。默认值为空字符串,这意味着服务器将根据模型和内部策略选择版本。

  • outputs (list) – InferRequestedOutput 对象的列表,每个对象描述必须如何返回输出数据。如果未指定,则将使用默认设置返回模型生成的所有输出。

  • request_id (str) – 请求的可选标识符。如果指定,将在响应中返回。默认值为空字符串,这意味着将不使用 request_id。

  • sequence_id (int) – 对象表示的序列的唯一标识符。默认值为 0,这意味着请求不属于序列。

  • sequence_start (bool) – 指示正在添加的请求是否标记序列的开始。默认值为 False。如果“sequence_id”为 0,则忽略此参数。

  • sequence_end (bool) – 指示正在添加的请求是否标记序列的结束。默认值为 False。如果“sequence_id”为 0,则忽略此参数。

  • priority (int) – 指示请求的优先级。优先级值零表示应使用默认优先级级别(即与不指定优先级参数的行为相同)。较低的值优先级表示较高的优先级级别。因此,最高优先级级别由将参数设置为 1 表示,下一个最高优先级级别为 2,依此类推。如果未提供,服务器将使用模型的默认设置处理请求。

  • timeout (int) – 请求的超时值(以微秒为单位)。如果请求无法在时间内完成,则服务器可以采取特定于模型的操作,例如终止请求。如果未提供,服务器将使用模型的默认设置处理请求。此选项仅受配置了动态批处理的模型支持。有关更多详细信息,请参阅此处:triton-inference-server/server

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

  • request_compression_algorithm (str) – 可选的 HTTP 压缩算法,用于客户端的请求正文。当前支持“deflate”、“gzip”和 None。默认情况下,不使用压缩。

  • response_compression_algorithm (str) – 请求响应正文的可选 HTTP 压缩算法。请注意,如果服务器不支持指定的算法,则响应可能未压缩。当前支持“deflate”、“gzip”和 None。默认情况下,不请求压缩。

  • parameters (dict) – 要包含在“parameters”字段中的可选字段。

返回值:

包含推理结果的对象。

返回类型:

InferResult

引发:

InferenceServerException – 如果服务器无法执行推理。

is_model_ready(
model_name,
model_version='',
headers=None,
query_params=None,
)#

联系推理服务器并获取指定模型的就绪状态。

参数:
  • model_name (str) – 要检查就绪状态的模型名称。

  • model_version (str) – 要检查就绪状态的模型版本。默认值为空字符串,表示服务器将根据模型和内部策略选择版本。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

返回值:

如果模型已就绪,则为 True;如果未就绪,则为 False。

返回类型:

bool

引发:

Exception – 如果无法获取模型就绪状态。

is_server_live(headers=None, query_params=None)#

联系推理服务器并获取活跃度。

参数:
  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

返回值:

如果服务器处于活跃状态,则为 True;如果服务器未处于活跃状态,则为 False。

返回类型:

bool

引发:

Exception – 如果无法获取活跃度。

is_server_ready(headers=None, query_params=None)#

联系推理服务器并获取就绪状态。

参数:
  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

返回值:

如果服务器已就绪,则为 True;如果服务器未就绪,则为 False。

返回类型:

bool

引发:

Exception – 如果无法获取就绪状态。

load_model(
model_name,
headers=None,
query_params=None,
config=None,
files=None,
)#

请求推理服务器加载或重新加载指定的模型。

参数:
  • model_name (str) – 要加载的模型的名称。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数。

  • config (str) – 可选的模型配置的 JSON 表示形式,为加载请求提供;如果提供,则此配置将用于加载模型。

  • files (dict) – 可选字典,用于指定覆盖模型目录中的文件路径(带有“file:”前缀)到文件内容的字节。这些文件将构成模型将从中加载的模型目录。如果指定,则必须提供 ‘config’ 作为覆盖模型目录的模型配置。

引发:

InferenceServerException – 如果无法加载模型。

static parse_response_body(
response_body,
verbose=False,
header_length=None,
content_encoding=None,
)#

从给定的 ‘response_body’ 生成 InferResult 对象

参数:
  • response_body (bytes) – 来自服务器的推理响应

  • verbose (bool) – 如果为 True,则生成详细输出。默认值为 False。

  • header_length (int) – 如果标头未占用整个响应正文,则为推理标头的长度。默认值为 None。

  • content_encoding (string) – 如果响应正文被压缩,则为响应正文的编码。默认值为 None。

返回值:

从响应正文生成的 InferResult 对象

返回类型:

InferResult

register_cuda_shared_memory(
name,
raw_handle,
device_id,
byte_size,
headers=None,
query_params=None,
)#

请求服务器注册具有以下规范的系统共享内存。

参数:
  • name (str) – 要注册的区域的名称。

  • raw_handle (bytes) – 以 base64 编码的原始序列化 cudaIPC 句柄。

  • device_id (int) – 创建 cudaIPC 句柄的 GPU 设备 ID。

  • byte_size (int) – cuda 共享内存区域的大小,以字节为单位。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

引发:

InferenceServerException – 如果无法注册指定的 cuda 共享内存。

register_system_shared_memory(
name,
key,
byte_size,
offset=0,
headers=None,
query_params=None,
)#

请求服务器注册具有以下规范的系统共享内存。

参数:
  • name (str) – 要注册的区域的名称。

  • key (str) – 包含系统共享内存区域的底层内存对象的键。

  • byte_size (int) – 系统共享内存区域的大小,以字节为单位。

  • offset (int) – 系统共享内存区域的起始位置在底层内存对象中的偏移量(以字节为单位)。默认值为零。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

引发:

InferenceServerException – 如果无法注册指定的系统共享内存。

unload_model(
model_name,
headers=None,
query_params=None,
unload_dependents=False,
)#

请求推理服务器卸载指定的模型。

参数:
  • model_name (str) – 要卸载的模型的名称。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

  • unload_dependents (bool) – 模型的相关依赖项是否也应卸载。

引发:

InferenceServerException – 如果无法卸载模型。

unregister_cuda_shared_memory(
name='',
headers=None,
query_params=None,
)#

请求服务器注销具有指定名称的 cuda 共享内存。

参数:
  • name (str) – 要注销的区域的名称。默认值为空字符串,表示将注销所有 cuda 共享内存区域。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

引发:

InferenceServerException – 如果无法注销指定的 cuda 共享内存区域。

unregister_system_shared_memory(
name='',
headers=None,
query_params=None,
)#

请求服务器注销具有指定名称的系统共享内存。

参数:
  • name (str) – 要注销的区域的名称。默认值为空字符串,表示将注销所有系统共享内存区域。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

引发:

InferenceServerException – 如果无法注销指定的系统共享内存区域。

update_log_settings(
settings,
headers=None,
query_params=None,
)#

更新 Triton 服务器的全局日志设置。

参数:
  • settings (dict) – 新的日志设置值。只会更新列出的设置。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

包含更新后的日志设置的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法更新日志设置。

update_trace_settings(
model_name=None,
settings={},
headers=None,
query_params=None,
)#

更新指定模型名称的跟踪设置,如果未提供模型名称,则更新全局跟踪设置。返回更新后的跟踪设置。

参数:
  • model_name (str) – 要更新跟踪设置的模型名称。指定 None 或空字符串将更新全局跟踪设置。默认值为 None。

  • settings (dict) – 新的跟踪设置值。只会更新列出的设置。如果字典中列出了跟踪设置,其值为 ‘None’,则将清除该设置。

  • headers (dict) – 可选字典,指定要包含在请求中的其他 HTTP 标头。

  • query_params (dict) – 要在网络事务中使用的可选 url 查询参数

返回值:

包含更新后的跟踪设置的 JSON 字典。

返回类型:

dict

引发:

InferenceServerException – 如果无法更新跟踪设置。

class tritonclient.http.InferenceServerClientPlugin#

每个 Triton 客户端插件都应扩展此类。每个插件都需要实现 __call__() 方法。

abstract __call__(request)#

当调用任何客户端函数时,将调用此方法。请注意,必须就地修改请求对象。

参数:

request (Request) – 请求对象。

_abc_impl = <_abc._abc_data object>#
exception tritonclient.http.InferenceServerException(msg, status=None, debug_details=None)#

指示非成功状态的异常。

参数:
  • msg (str) – 错误简述

  • status (str) – 错误代码

  • debug_details (str) – 关于错误的附加详细信息

debug_details()#

获取关于异常的详细信息,用于调试目的

返回值:

返回异常详细信息

返回类型:

str

message()#

获取异常消息。

返回值:

与此异常关联的消息,如果没有消息,则为 None。

返回类型:

str

status()#

获取异常的状态。

返回值:

返回异常的状态

返回类型:

str

class tritonclient.http.Request(headers)#

一个请求对象。

参数:

headers (dict) – 包含请求头的字典。

模块