我將 golang 與 tensorflow 模型結(jié)合使用。使用此代碼:``` 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.我已經(jīng)檢查tensor過圖像文件中是否包含張量。有什么推薦嗎?不管怎么說,還是要謝謝你
2 回答
斯蒂芬大帝
TA貢獻1827條經(jīng)驗 獲得超8個贊
該錯誤表明Output(某個節(jié)點的)屬性是 nil 操作。
因此graphModel.Operation("input").Operation(0)或graphModel.Operation("output").Output(0)返回nil。
要更正此問題,您必須引用圖中的現(xiàn)有節(jié)點,因為圖中沒有命名的張量input或命名的張量。output
從您用于導(dǎo)出模型的 Python 代碼中,您可以找到輸入和輸出張量的完整名稱。只需訪問.name輸入占位符和輸出節(jié)點的屬性,即可獲得在 Go 中使用的正確名稱。
此外,Go 綁定使用起來很復(fù)雜,尤其是當您想對輸入圖像運行一些預(yù)處理操作時。
九州編程
TA貢獻1785條經(jīng)驗 獲得超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>
因此,我的輸入和輸出節(jié)點是dense_1_input和my_output/BiasAdd(不是my_output?。?/p>
- 2 回答
- 0 關(guān)注
- 235 瀏覽
添加回答
舉報
0/150
提交
取消
