一、创建新环境,安装onnxruntime工具包
pip install onnxtimerun
二、新建.py文件
import onnxruntime
import numpy as np
import onnxruntime as ort
model_path = 'C:\\Users\\h1234\\Desktop\\demo\\VTOL_RL\Assets\\train\\results\\ppo\\My Behavior\\My Behavior-500064.onnx'
providers = ['CPUExecutionProvider']
ort_session = ort.InferenceSession(model_path, providers=providers)
# ort_session = onnxruntime.InferenceSession('test-model.onnx', providers=['CPUExecutionProvider', 'CUDAExecutionProvider'])
batch_size = 1
input_size = 1 # set input size to 1
input_data = float(input()) #创建输入数据
#input_name = ort_session.get_inputs()[0].name #获取ONNX神经网络模型的输入名称,在一下代码为‘obs_0’
#input_info = ort_session.get_inputs()[0] #获取ONNX神经网络模型的输入信息
#print(f"Expected input shape: {input_info.shape}") # 打印期望的输入维度
#print(input_name)
input_data = np.array([input_data], dtype=np.float32) #输入数据
input_data = input_data.reshape(1, 1) # 调整形状为 (batch_size=1, input_size=1),调整形状要依据上文代码检测的输入名称来决定
output = ort_session.run(None, {'obs_0': input_data}) #网络推理
result = float(output[4])
#print(output) #打印输出信息
print(result)
三、在labview调用python
作者使用的是labview2018(32bit)版本,只支持labview内置的3.6版本解释器,且要求python必须同样是32位的,为了兼容我在anconda中创建的虚拟环境,本文采用labview执行系统命令的方式运行python,此方法与启动其他基于Windows的应用程序、命令行应用程序、(Windows)批处理文件或(macOS和Linux)脚本文件相同