Tensorfloat 和 ImageFeatureValue 的区别

问题描述

使用 Windows-Machine-Learning 库时,onnx 模型的输入和输出通常是 TensorFloatImageFeatureValue 格式。

我的问题:这些有什么区别?似乎我可以将 onnx 导入(用于身体姿势检测)后自动创建的 model.cs 文件中的输入形式从 TensorFloat 更改为 ImageFeatureValue 并且代码仍然运行。这使它例如更容易处理视频帧,因为我可以通过 ImageFeatureValue.CreateFromVideoFrame(frame) 创建我的输入。 这是否有可能导致问题的原因,以及在使用视频帧作为输入时它们之间的区别是什么,我没有从文档中看到它?或者,如果输入是视频帧,为什么 model.cs 脚本首先创建一个 TensorFloat 而不是 ImageFeatureValue

解决方法

找到答案 here

如果 Windows ML 不支持您模型的颜色格式或像素范围,那么您可以实施转换和张量化。您将为输入值的 32 位浮点数创建 NCHW 四维张量。有关如何执行此操作的示例,请参阅自定义张量化示例。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...