ML.NET 加载 SSD Inception v2 模型时输入形状不匹配
ML.NET Input shape mismatch when loading SSD Inception v2 model
我正在尝试将“.pb”格式的 SSD Inception v2 模型的张量流模型加载到 ML.NET,但我不断收到以下“形状不匹配”错误:
System.InvalidOperationException: 'Input shape mismatch: Input 'image_tensor' has shape (-1, -1, -1, 3), but input data is of length 691200.'
使用以下代码加载模型 Im:
var pipeline = _mlContext.Transforms.ResizeImages(resizing: ImageResizingEstimator.ResizingKind.Fill, outputColumnName: "data", imageWidth: 640, imageHeight: 360, inputColumnName: nameof(ImageInputData.Image))
.Append(_mlContext.Transforms.ExtractPixels(outputColumnName: "image_tensor", inputColumnName: "data", outputAsFloatArray: false))
.Append(_mlContext.Model.LoadTensorFlowModel(tfModelFilePath)
.ScoreTensorFlowModel(
outputColumnNames: InputImageSettings.OutputNodes,
inputColumnNames: InputImageSettings.InputNodes,
addBatchDimensionInput: false));
var emptyData = new List<ImageInputData>();
var data = _mlContext.Data.LoadFromEnumerable(emptyData);
ITransformer mlModel = pipeline.Fit(data);
错误信息是什么意思?它将数据形状与数据长度进行比较。它有什么相关性?
原来是ML.NET(see the issue here)中的bug导致的。软件包的下一个版本将修复它。
我正在尝试将“.pb”格式的 SSD Inception v2 模型的张量流模型加载到 ML.NET,但我不断收到以下“形状不匹配”错误:
System.InvalidOperationException: 'Input shape mismatch: Input 'image_tensor' has shape (-1, -1, -1, 3), but input data is of length 691200.'
使用以下代码加载模型 Im:
var pipeline = _mlContext.Transforms.ResizeImages(resizing: ImageResizingEstimator.ResizingKind.Fill, outputColumnName: "data", imageWidth: 640, imageHeight: 360, inputColumnName: nameof(ImageInputData.Image))
.Append(_mlContext.Transforms.ExtractPixels(outputColumnName: "image_tensor", inputColumnName: "data", outputAsFloatArray: false))
.Append(_mlContext.Model.LoadTensorFlowModel(tfModelFilePath)
.ScoreTensorFlowModel(
outputColumnNames: InputImageSettings.OutputNodes,
inputColumnNames: InputImageSettings.InputNodes,
addBatchDimensionInput: false));
var emptyData = new List<ImageInputData>();
var data = _mlContext.Data.LoadFromEnumerable(emptyData);
ITransformer mlModel = pipeline.Fit(data);
错误信息是什么意思?它将数据形状与数据长度进行比较。它有什么相关性?
原来是ML.NET(see the issue here)中的bug导致的。软件包的下一个版本将修复它。