为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
吃鸡游戏 2023-06-01 10:00:03
我将 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过图像文件中是否包含张量。有什么推荐吗?不管怎么说,还是要谢谢你
查看完整描述

2 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

该错误表明Output(某个节点的)属性是 nil 操作。

因此graphModel.Operation("input").Operation(0)graphModel.Operation("output").Output(0)返回nil

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

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

此外,Go 绑定使用起来很复杂,尤其是当您想对输入图像运行一些预处理操作时。


查看完整回答
反对 回复 2023-06-01
?
九州编程

TA贡献1785条经验 获得超4个赞

需要这样做:my_model.inputsmy_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_inputmy_output/BiasAdd(不是my_output!)


查看完整回答
反对 回复 2023-06-01
  • 2 回答
  • 0 关注
  • 153 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信