我將 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 關注
- 214 瀏覽
添加回答
舉報
0/150
提交
取消