Flatten()详解

Flatten层用来将输入“压平”,即把多维的输入一维化,常用在从卷积层到全连接层的过渡。Flatten不影响batch的大小。
就是把高纬度的数组按照 x轴或者y轴 进行拉伸,变成一维的数组

为了更好的理解Flatten层作用,我把这个神经网络进行可视化如下图:(来自网络)
Flatten()详解_第1张图片

用Python中的例子更好理解:

from numpy import *
>>> a=array([[1,2],[3,4],[5,6]])
>>> a
array([[1, 2],
    [3, 4],
    [5, 6]])
>>> a.flatten() #默认按行的方向降维
array([1, 2, 3, 4, 5, 6])
>>> a.flatten('F') #按列降维
array([1, 3, 5, 2, 4, 6]) 
>>> a.flatten('A') #按行降维
array([1, 2, 3, 4, 5, 6])

你可能感兴趣的:(人工智能,神经网络,网络,深度学习,人工智能)