猿问

Golang 模型 sessionn 上的 Tensorflow 运行错误:

我将 golang 与 tensorflow 模型结合使用。使用此代码:```

    output, err := sessionModel.Run(    map[tf.Output]*tf.Tensor{
        graphModel.Operation("input").Output(0): tensor,
    },
    []tf.Output{
        graphModel.Operation("output").Output(0),
    },    nil)

```

但显示错误: 2019/01/07 18:07:48 http: panic serving [::1]:55262: nil-Operation. If the Output was created with a Scope object, see Scope.Err() for details.

我已经检查tensor过图像文件中是否包含张量。有什么推荐吗?不管怎么说,还是要谢谢你


吃鸡游戏
浏览 154回答 2
2回答

斯蒂芬大帝

该错误表明Output(某个节点的)属性是 nil 操作。因此graphModel.Operation("input").Operation(0)或graphModel.Operation("output").Output(0)返回nil。要更正此问题,您必须引用图中的现有节点,因为图中没有命名的张量input或命名的张量。output从您用于导出模型的 Python 代码中,您可以找到输入和输出张量的完整名称。只需访问.name输入占位符和输出节点的属性,即可获得在 Go 中使用的正确名称。此外,Go 绑定使用起来很复杂,尤其是当您想对输入图像运行一些预处理操作时。

九州编程

需要这样做: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>因此,我的输入和输出节点是dense_1_input和my_output/BiasAdd(不是my_output!)
随时随地看视频慕课网APP

相关分类

Go
我要回答