C# System.MissingMethodException IntPtr Tensorflow.Status.op#u Implicit(Tensorflow.Status)和#x27';

C# System.MissingMethodException IntPtr Tensorflow.Status.op#u Implicit(Tensorflow.Status)和#x27';,c#,tensorflow,ml.net,C#,Tensorflow,Ml.net,我正在尝试将TensorFlow模型(SavedModel)加载到ML.NET中,并使用ML.NET创建一个估计器 我正在加载没有错误的模型,但是tensorFlowModel.ScoreTensorFlowModelget异常“System.MissingMethodException IntPtr Tensorflow.Status.op_Implicit(Tensorflow.Status)” 我的代码: using Microsoft.ML; var inputNodeName = &

我正在尝试将TensorFlow模型(
SavedModel
)加载到ML.NET中,并使用ML.NET创建一个估计器

我正在加载没有错误的模型,但是
tensorFlowModel.ScoreTensorFlowModel
get异常“System.MissingMethodException IntPtr Tensorflow.Status.op_Implicit(Tensorflow.Status)”

我的代码:

using Microsoft.ML;

var inputNodeName = "serving_default_dense_input";
var outputNodeName = "StatefulPartitionedCall_1";

var tensorFlowModel = mlContext.Model.LoadTensorFlowModel(@"model"); //model directory contains saved_model.pb file
var pipeline = tensorFlowModel.ScoreTensorFlowModel(new[] { outputNodeName },new[] { inputNodeName }, addBatchDimensionInput: false);
已安装的NuGet软件包:

  • ML.NET
  • scishar.TensorFlow.Redist
  • TensorFlow.NET

这些软件包已更新为最新版本。

我曾多次遇到同样的错误,而ML.NET和TensorFlow版本之间总是不匹配。我注意到您已经包含了
SciSharp.TensorFlow.Redist
包,虽然可能有教程仍然提到使用更高版本的ML.NET,但它依赖于
TensorFlow.NET>=0.11.8.1
,似乎包含了必要的文件,因此这不是必需的,也可能是您出现问题的原因


另一件事是,当依赖项>=0.11.8.1时,
TensorFlow.NET
的更高版本可能会导致与此相同的问题,因此还要检查您是否尚未更新到更高版本的
TensorFlow.NET
,如果您尝试恢复到0.11.8.1。

您是否只是在
LoadTensorFlowModel
方法?我认为应该是pbfile@Jon
LoadTensorFlowModel
方法通过。当指定了不正确的inputNodeName时,Get Exception“无法在图形“grap-key-0/”中找到操作“xyz”。因此加载模型似乎成功。