onnx onnxruntime onnxruntime-gpu
(和Java生成的中间文件可以在JVM上运行一样,onnx runtime引擎为生成的onnx模型文件提供推理功能)在训练模型时可以使用很多不同的框架,比如 Pytorch, TensorFLow, MXNet,以及深度学习最开始流行的 Caffe 等等,这样不同的训练框架就导致了产生不同的模型结果包,在模型进行部署推理时就需要不同的依赖库,而且同一个框架比如 tensorflow 不同的版本之间
onnx简介
在训练模型时可以使用很多不同的框架,比如 Pytorch, TensorFLow, MXNet,以及深度学习最开始流行的 Caffe 等等,这样不同的训练框架就导致了产生不同的模型结果包,在模型进行部署推理时就需要不同的依赖库,而且同一个框架比如 tensorflow 不同的版本之间的差异较大
为了解决这个混乱问题,LF AI 这个组织联合 Facebook, MicroSoft等公司制定了机器学习模型的标准,这个标准叫做ONNX, Open Neural Network Exchage,所有其他框架产生的模型包 (.pth, .pb) 都可以转换成这个标准格式,转换成这个标准格式后,就可以使用统一的 ONNX Runtime等工具进行统一部署。(和Java生成的中间文件可以在JVM上运行一样,onnx runtime引擎为生成的onnx模型文件提供推理功能)
onnx主页:
onnxruntime.ai


API
API - Python API documentation
session = onnxruntime.InferenceSession('model.onnx')
outputs = session.run([output names], inputs)
# 在cpu里加载模型
session = onnxruntime.InferenceSession(
model, providers=['CUDAExecutionProvider', 'CPUExecutionProvider']
)
class onnxruntime.InferenceSession(
path_or_bytes: str | bytes | os.PathLike,
sess_options: Sequence[onnxruntime.SessionOptions] | None = None, providers: Sequence[str | tuple[str, dict[Any, Any]]] | None = None,
provider_options: Sequence[dict[Any, Any]] | None = None,
**kwargs)
path_or_bytes – Filename or serialized ONNX or ORT format model in a byte string.
sess_options – Session options.
providers – Optional sequence of providers in order of decreasing precedence. Values can either be provider names or tuples of (provider name, options dict). If not provided, then all available providers are used with the default precedence.
provider_options – Optional sequence of options dicts corresponding to the providers listed in ‘providers’.
run(output_names, input_feed, run_options=None)
PARAMETERS:
output_names – name of the outputs
input_feed – dictionary
{ input_name: input_value }run_options – See onnxruntime.RunOptions.
RETURNS:
list of results, every result is either a numpy array, a sparse tensor, a list or a dictionary.
参考
onnx标准 & onnxRuntime加速推理引擎_createexecutionproviderinstance cuda_path is set b_王小希ww的博客-CSDN博客
昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链
更多推荐


所有评论(0)