首页 > 解决方案 > 是否可以在 ML.Net 中使用保存为 ONNX 文件的自动编码器模型?

问题描述

我有一个自动编码器,它是使用 Tensorflow2 在 Python 中创建和训练的,然后转换为 ONNX 文件。我按照这里的教程进行操作,然后尝试通过加载我的自动编码器来适应它。

我期待这个结果:

在此处输入图像描述

但我得到了这个:

在此处输入图像描述

问题不在于将图像写入磁盘或模型中。我在 Python 中使用完全相同的 ONNX 文件,我得到了正确的结果。

问题可能出在管道创建中的某个地方吗?

var pipeline = mlContext.Transforms.LoadImages(outputColumnName: "input_custom:0", imageFolder: "", inputColumnName: nameof(ImageData.ImagePath))
            .Append(mlContext.Transforms.ResizeImages(outputColumnName: "input_custom:0", imageWidth: InputImageSettings.imageWidth, imageHeight: InputImageSettings.imageHeight, inputColumnName: "input_custom:0"))
            .Append(mlContext.Transforms.ExtractPixels(outputColumnName: "input_custom:0"))
            .Append(mlContext.Transforms.ApplyOnnxModel(modelFile: modelLocation, outputColumnNames: new[] { ReconstructionModelSettings.ModelOutput }, inputColumnNames: new[] { ReconstructionModelSettings.ModelInput }));

imageWidth 和 imageHeight 为 256。

如果有人对此有任何经验,请分享您的智慧...

标签: c#machine-learningautoencoderml.netonnx

解决方案


推荐阅读