从C#中的onnx模型读取自定义元数据

时间:2020-07-20 10:30:17

标签: c# onnx onnxruntime

在C#应用程序中创建InferenceSession时,我想从.onnx模型访问自定义元数据。

我用python中的元数据填充模型:

model = onnxmltools.load_model("../models/model.onnx")

meta = model.metadata_props.add()
meta.key = "version"
meta.value = "0.0.1"
print(model.metadata_props[0])
onnxmltools.utils.save_model(model, "../models/model_1.onnx")

尝试在C#中加载模型时:

private InferenceSession _session;
_session = new InferenceSession(_modelPath, new SessionOptions());
// I can access the model input-/ouput-metadata e.g. input dimensions:
var dims = _session.InputMetadata["input_1"].Dimensions;
// my custom metadata key-value-pair is not there

我想在应用程序中显示模型版本,模型类型和其他属性。还有另一种方法吗?

我在C#应用程序中使用Microsoft.ML.OnnxRuntime v1.4.0 NuGet程序包。 python中的onnxmltools版本是1.6.1

很高兴获得任何帮助!

欢呼

丹尼尔

1 个答案:

答案 0 :(得分:0)

也感谢您在Github中打开问题,也希望能对此进行跟踪。我在清单上我将尝试将其引入下一个版本。