我在调试别人的代码时候发现的问题
主要遇到两种报错:
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的类型,发现类型已经转换成
就可以了。
问题1参考链接:https://blog.csdn.net/mr_muli/article/details/90648113
问题2参考链接:https://blog.csdn.net/Poo_Chai/article/details/91040938