You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为包含未知维度的ONNX模型输入创建并绑定TensorFloat?

动态维度ONNX输入在WinML中的绑定方法

Netron中显示的unk__518是ONNX模型定义动态维度时的占位标记,不是需要传入的实际维度值,你只需在绑定时填入推理时实际使用的首维度大小即可,无需传入字符串。

两种常用场景的实现方式

  • 单样本推理(每次输入1张图片)
// 首维度设为1,对应单张224*224分辨率的3通道图片
std::vector<int64_t> shape({ 1, 224, 224, 3 });
binding.Bind(L"Image:0", TensorFloat::Create(shape));
  • 批量推理(一次输入多张图片)
// 首维度设为实际批量大小,例如一次输入8张图片就填8
std::vector<int64_t> shape({ 8, 224, 224, 3 });
binding.Bind(L"Image:0", TensorFloat::Create(shape));

注意事项

  • WinML原生支持动态维度推理,只要绑定的tensor维度和你实际喂入的数据维度一致,即可自动匹配模型的动态维度约束,不需要额外调用特殊API。
  • 若需要确认模型对动态维度的取值限制,可以通过LearningModel.InputFeatures获取对应输入的特征描述,查看维度约束字段。

内容的提问来源于stack exchange,提问作者lq_msu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 22:36:05