miniosl.inference

inference modules

class miniosl.inference.InferenceModel(device)[source]

interface for inference using trained models

eval(input: ndarray, *, take_softmax: bool = False) Tuple[ndarray, float, ndarray][source]

return (move, value, aux) tuple, after softmax

abstract infer(inputs: Tensor) Tuple[ndarray, ndarray, ndarray][source]

return inference results for batch

infer_int8(inputs: ndarray | Tensor) Tuple[ndarray, ndarray, ndarray][source]

an optimized path

infer_one(input: ndarray) Tuple[ndarray, float, ndarray][source]

return inference results for a single instance

class miniosl.inference.OnnxInfer(path: str, device: str)[source]
infer(inputs: Tensor)[source]

return inference results for batch

infer_iobinding(inputs: Tensor)[source]

work with torch 2.5.1, onnxruntime-gpu 1.20.1

infer_naive(inputs: Tensor)[source]

inefficient in gpu-cpu transfer if inputs are on already gpu

class miniosl.inference.TorchInfer(model, device: str)[source]
infer(inputs: Tensor)[source]

return inference results for batch

class miniosl.inference.TorchScriptInfer(path: str, device: str)[source]
infer(inputs: Tensor)[source]

return inference results for batch

class miniosl.inference.TorchTRTInfer(path: str, device: str)[source]
infer(inputs: Tensor)[source]

return inference results for batch

miniosl.inference.load(path: str, device: str = '', torch_cfg: dict = {}, *, compiled: bool = False, strict: bool = True, remove_aux_head: bool = False) InferenceModel[source]

factory method to load a model from file

Parameters:
  • path – filepath,

  • device – torch device such as ‘cuda’, ‘cpu’,

  • torch_cfg – network specification needed for TorchInfer.