ONNX C#:我如何阅读这个对象并提取概率值?

问题描述

我已经保存了一个 ONNX 转换的预训练 RFC 模型,我正尝试在我的 API 中使用它。我可以调用保存的模型并进行预测,但是我无法获得预测值。反应很复杂,我似乎无法弄清楚。 这是调试模式下的预测值形状:

enter image description here

这里是在 python 中,我正在尝试获取第二个值:

enter image description here

这是我迄今为止尝试过的,但我只得到字符串值。

        var result = _inferencesession.Run(new List<NamedOnnxValue>
        {
            NamedOnnxValue.CreateFromTensor("input",attritionData.AsTensor())
        });
        var scoreValue = result.LastOrDefault().Value;
        var score = scoreValue.GetType()?.GetProperty("Value")?.Attributes;

解决方法

我找到了! 我必须使用 AsEnumerable 然后访问我想要的值:

       var seq = result.LastOrDefault().AsEnumerable<NamedOnnxValue>();
        var map = seq.First().AsDictionary<Int64,float>();
        var values = map.First().Value; //this is what I want

相关问答

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