转载:https://blog.csdn.net/Sophia_11/article/details/84729102
tf.contrib.layers.flatten(A)函数使得P保留第一个维度,把第一个维度包含的每一子张量展开成一个行向量,返回张量是一个二维的,返回的shape为[第一维度,子张量乘积)。
一般用于卷积神经网络全连接层前的预处理,因为全连接层需要将输入数据变为一个向量,向量大小为[batch_size, ……]
如下边,pool是全连接层的输入,则需要将其转换为一个向量。假设pool是一个100*7*7*64的矩阵,则通过转换后,得到一个[100,3136]的矩阵,这里100位卷积神经网络的batch_size,3136则是7*7*64的乘积。
fla = tf.contrib.layers.flatten(pool)