C# System.MissingMethodException IntPtr Tensorflow.Status.op#u Implicit(Tensorflow.Status)和#x27';
我正在尝试将TensorFlow模型(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 = &
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@JonLoadTensorFlowModel
方法通过。当指定了不正确的inputNodeName时,Get Exception“无法在图形“grap-key-0/”中找到操作“xyz”。因此加载模型似乎成功。