PyTritonAdapter API
model_navigator.api.pytriton.PyTritonAdapter
Provides model and configuration for PyTrtion deployment.
Initialize PyTritonAdapter.
Parameters:
-
package
(Package
) –A package object to be searched for best possible model.
-
strategy
(Optional[RuntimeSearchStrategy]
, default:None
) –Strategy for finding the best model. Defaults to
MaxThroughputAndMinLatencyStrategy
-
runner_return_type
(TensorType
, default:NUMPY
) –The type of the output tensor. Defaults to
TensorType.NUMPY
. If the return_type supports CUDA tensors (e.g. TensorType.TORCH) and the input tensors are on CUDA, there will be no additional data transfer between CPU and GPU.
Source code in model_navigator/api/pytriton.py
batching
property
Returns status of batching support by the runner.
Returns:
-
bool
–True if runner supports batching, False otherwise.
config
property
Returns config for pytriton.
Returns:
-
ModelConfig
–ModelConfig with configuration for PyTrtion bind method.
inputs
property
outputs
property
model_navigator.api.pytriton.ModelConfig
dataclass
Additional model configuration for running model through Triton Inference Server.
Parameters:
-
batching
(bool
, default:True
) –Flag to enable/disable batching for model.
-
max_batch_size
(int
, default:4
) –The maximal batch size that would be handled by model.
-
batcher
(DynamicBatcher
, default:field(default_factory=DynamicBatcher)
) –Configuration of Dynamic Batching for the model.
-
response_cache
(bool
, default:False
) –Flag to enable/disable response cache for the model
model_navigator.api.pytriton.DynamicBatcher
dataclass
Dynamic batcher configuration.
More in Triton Inference Server documentation
Parameters:
-
max_queue_delay_microseconds
(int
, default:0
) –The maximum time, in microseconds, a request will be delayed in the scheduling queue to wait for additional requests for batching.
-
preferred_batch_size
(Optional[list]
, default:None
) –Preferred batch sizes for dynamic batching.
-
preserve_ordering
(bool
, default:False
) –Should the dynamic batcher preserve the ordering of responses to match the order of requests received by the scheduler.
-
priority_levels
(int
, default:0
) –The number of priority levels to be enabled for the model.
-
default_priority_level
(int
, default:0
) –The priority level used for requests that don't specify their priority.
-
default_queue_policy
(Optional[QueuePolicy]
, default:None
) –The default queue policy used for requests.
-
priority_queue_policy
(Optional[Dict[int, QueuePolicy]]
, default:None
) –Specify the queue policy for the priority level.
model_navigator.api.pytriton.Tensor
dataclass
Model input and output definition for Triton deployment.
Parameters:
-
shape
(tuple
) –Shape of the input/output tensor.
-
dtype
(Union[dtype, Type[dtype], Type[object]]
) –Data type of the input/output tensor.
-
name
(Optional[str]
, default:None
) –Name of the input/output of model.
-
optional
(Optional[bool]
, default:False
) –Flag to mark if input is optional.
model_navigator.api.pytriton.QueuePolicy
dataclass
Model queue policy configuration.
More in Triton Inference Server documentation
Parameters:
-
timeout_action
(TimeoutAction
, default:REJECT
) –The action applied to timed-out request.
-
default_timeout_microseconds
(int
, default:0
) –The default timeout for every request, in microseconds.
-
allow_timeout_override
(bool
, default:False
) –Whether individual request can override the default timeout value.
-
max_queue_size
(int
, default:0
) –The maximum queue size for holding requests.
model_navigator.api.pytriton.TimeoutAction
Bases: Enum
Timeout action definition for timeout_action QueuePolicy field.
Parameters:
-
REJECT
(str
) –Reject the request and return error message accordingly.
-
DELAY
(str
) –Delay the request until all other requests at the same (or higher) priority levels that have not reached their timeouts are processed.