我在調試別人的代碼時候發現的問題
主要遇到兩種報錯:
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