我将 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 绑定使用起来很复杂,尤其是当您想对输入图像运行一些预处理操作时。
九州编程
TA贡献1785条经验 获得超4个赞
需要这样做: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
!)
- 2 回答
- 0 关注
- 153 浏览
添加回答
举报
0/150
提交
取消