【引路帖】【解決問題】TypeError: `Tensor` objects are not iterable when eager execution is not enabled.

我在調試別人的代碼時候發現的問題

主要遇到兩種報錯:

1. Tensor objects are not iterable when eager execution is not enabled.

2. ValueError: setting an array element with a sequence.

原因呢,是因爲vgg16提取出的特徵是tensor類型,而具體要處理的時候需要array類型,所以需要轉換。

(這裏可以對你要處理的對象,用print(type(tensor_name)) 先查看報錯 Tensor 的類型)

所以用以下語句進行類型轉換:

sess=tf.Session()
#轉化爲numpy數組
tensor_name=tensor_name.eval(session=sess)

然後再print(type(tensor_name)) ,檢查tensor_name的類型,發現類型已經轉換成<class ‘numpy.ndarray’>。

就可以了。

 

問題1參考鏈接:https://blog.csdn.net/mr_muli/article/details/90648113

問題2參考鏈接:https://blog.csdn.net/Poo_Chai/article/details/91040938

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章