Golang模型会话上的Tensorflow运行错误:无操作。如果输出是使用Scope对象创建的,请参阅Scope.Err()了解详细信息

Golang模型会话上的Tensorflow运行错误:无操作。如果输出是使用Scope对象创建的,请参阅Scope.Err()了解详细信息,tensorflow,go,Tensorflow,Go,iam使用golang和tensorflow模型。使用此代码: ``` ``` 但显示错误: 2019/01/07 18:07:48 http:panic service[::1]:55262:nil操作。如果输出是使用Scope对象创建的,请参阅Scope.Err()了解详细信息。 我已经在检查图像文件中的张量包含张量。 有什么建议吗?无论如何,还是要感谢错误表明输出属性(某个节点的)是一个nil操作 因此graphModel.Operation(“input”).Operation(0)

iam使用golang和tensorflow模型。使用此代码: ```

```

但显示错误:

2019/01/07 18:07:48 http:panic service[::1]:55262:nil操作。如果输出是使用Scope对象创建的,请参阅Scope.Err()了解详细信息。

我已经在检查图像文件中的
张量
包含张量。
有什么建议吗?无论如何,还是要感谢错误表明
输出属性(某个节点的)是一个nil操作

因此
graphModel.Operation(“input”).Operation(0)
graphModel.Operation(“output”).output(0)
返回
nil

要更正此问题,您必须引用图中的现有节点,因为图中没有名为
input
的张量或名为
output
的张量

从用于导出模型的python代码中,可以找到输入和输出张量的完整名称。只需访问输入占位符和输出节点的
.name
属性,即可获得在Go中使用的正确名称

此外,Go绑定使用起来很复杂,特别是如果您想对输入图像运行一些预处理操作。我建议你用
不要直接使用绑定(请注意,我是本报告的作者)。

我想为@nessuno添加一个很棒的答案,我需要这样做:
my_model.inputs
my_model.outputs
,以获得正确的名称。例如:

> my_model.inputs
[<tf.Tensor 'dense_1_input:0' shape=(?, 7) dtype=float32>
> my_model.outputs
[<tf.Tensor 'my_output/BiasAdd:0' shape=(?, 2) dtype=float32>
>my_model.inputs
[
>my_model.outputs
[

因此,我的输入和输出节点是
densite\u 1\u input
my\u output/BiasAdd
(不是
my\u output
!)

非常感谢@nessuno先生。Yo save my life:)嗨,你是如何找到
我的模型的。输入是从python来的吗?我试着使用
saved\u model\u pb2.SavedModel()
object的
ParseFromString
方法来读取
保存的\u model.pb
。我正在寻找输入标签和输出标签,我可以使用它们来指定
操作(“标签”)
。我还研究了
保存的\u model.pb的张力板可视化
> my_model.inputs
[<tf.Tensor 'dense_1_input:0' shape=(?, 7) dtype=float32>
> my_model.outputs
[<tf.Tensor 'my_output/BiasAdd:0' shape=(?, 2) dtype=float32>