从 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 中提出问题并进行跟踪。我有它在我的名单上。我会尝试将其纳入下一个版本。
在我的 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 中提出问题并进行跟踪。我有它在我的名单上。我会尝试将其纳入下一个版本。