TypeError: Failed to convert object of type <class 'list'> to Tensor. Contents: [None, 1600]. Consider casting elements to a supported type.
with tf.name_scope("layer6-pool3"):
pool3 = tf.nn.max_pool(relu3, ksize=[1, 2, 2, 1], strides=[1, 1, 1, 1], padding='SAME')
pool_shape = pool3.get_shape().as_list()
print(pool3)
nodes = pool_shape[1] * pool_shape[2] * pool_shape[3]
reshaped = tf.reshape(pool3, [pool_shape[0], nodes])
这里对pool3输出的结果是
想要将池化结果输出成一个batch的向量
解决方法:
将reshaped = tf.reshape(pool3, [pool_shape[0], nodes])改为
reshaped=tf.layers.flatten(pool3)
解决。
tf.layers.Flatten与tf.layers.flatten函数都是在保留第0轴的情况下对输入的张量进行Flatten(扁平化)
原文源至:https://blog.csdn.net/qq_36783848/article/details/87979993