有关 ONNX 模型输入和输出的信息 - MetaTrader 5 脚本





ONNX 模型运行函数需要定义模型的输入和输出大小。尺寸通过指定OnnxSetInputShape和OnnxSet输出形状函数,分别。
并非所有模型都有固定的输入和输出数据大小。在这些情况下,脚本将返回 -1。
OnnxTypeInfo type_info; 长的输入计数=Onnx获取输入计数(会话句柄); 打印(“模型有“,input_count,”输入(s)"); 为了(长的我=0;我<输入计数;我++) { 细绳输入名称=Onnx获取输入名称(会话句柄,i); 打印(我,”输入名称是“,输入名称); 如果(OnnxGetInputTypeInfo(会话句柄,i,类型信息)) 打印类型信息(i,"输入“,类型信息); } 长的输出计数=Onnx获取输出计数(会话句柄); 打印(“模型有”,output_count,”输出”); 为了(长的我=0;我<输出计数;我++) { 细绳输出名称=OnnxGetOutputName(会话句柄,i); 打印(i,"输出名称是",output_name); 如果(OnnxGetOutputTypeInfo(会话句柄,i,类型信息)) PrintTypeInfo(i,"输出",type_info); }
使用文件选择对话框用于从 MQL5\Files 文件夹中选择模型的函数

该脚本如何运行的示例如下所示:
创建模型从带有调试日志的 mnist.onnx ONNX:创建和使用自 use_per_session_threads_ 以来每个会话线程池是 真的ONNX:动态块根据 放到0ONNX:正在初始化会话。 ONNX:添加默认CPU执行提供者。 ONNX:删除初始化程序'参数6'。它是不再被任何节点使用。 ONNX:删除初始化程序'参数88'。它是不再被任何节点使用。 ONNX:共享标量初始值设定项总数:0ONNX:删除初始化程序'参数193_reshape1_shape'。它是不再被任何节点使用。 ONNX:删除初始化程序'参数193'。它是不再被任何节点使用。 ONNX:融合重塑节点总数:0ONNX:共享标量初始值设定项总数:0ONNX:融合重塑节点总数:0ONNX:删除初始化程序'参数5'。它是不再被任何节点使用。 ONNX:删除初始化程序'参数87'。它是不再被任何节点使用。 ONNX:使用 DeviceBasedPartition作为 默认ONNX:保存初始化的张量。 ONNX:已完成保存初始化张量 ONNX:会话已成功初始化。 型号有1输入0输入姓名是输入3 类型 ONNX_TYPE_TENSOR 数据类型 ONNX_DATA_TYPE_FLOAT 形状[1,1,28,28] 输入数据的形状可以简化为[28,28] 型号有1输出0输出名称是Plus214_Output_0 类型 ONNX_TYPE_TENSOR 数据类型 ONNX_DATA_TYPE_FLOAT 形状[1,10] 输出数据的形状可以简化为[10]
更新:由于在build 3700中OnnxTypeInfo结构发生了变化,因此脚本的源代码已被修改。
附件下载
📎 onnxmodelinfo.mq5 (5.97 KB)
Source: MQL5 #43452
💡 精彩内容推荐
✍️ 楼主最新发布
- •
- •
- •
- •
- •
- •
🔗 您可能感兴趣
- •
- •
- •
- •
- •
- •
🔐
请登录后参与评论
注册满12小时后评论,即可解锁附件下载
立即登录
