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

Read custom metadata from onnx model in C#

在我的 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

很高兴有任何帮助!

干杯

丹尼尔

感谢您在 Github 中提出问题并进行跟踪。我有它在我的名单上。我会尝试将其纳入下一个版本。