本质:一个种区域全连接
常用于序列(例如时间序列等),对每个时间点(Node)进行全连接
案例:
批32个样本,其中每个样本是一个由16个维度组成的10个向量的序列。该层的批输入形状然后(32, 10, 16)
TimeDistributed层的作用就是把Dense层应用到这10个具体的向量上,对每一个向量进行了一个Dense操作,假设是下面这段代码:
model = Sequential()
model.add(TimeDistributed(Dense(8), input_shape=(10, 16)))
输出还是10个向量,但是输出的维度由16变成了8,也就是(32,10,8)。
案例2:
输入为(32,420)的长文本,输出为(batch,1,106,512) ps:其中1*106为特征图输出大小
GAP后: =》 (?,512) 即可得,GAP操作将输入图同一到维度,每个维度一个数 (特征统一) (按维度全连接)
Flatten后:=》 (?,1*106*512) 可得,Flatten 将输入整个图片同一为一个数 (网络压平成一个数,才能全连接)
"""Flattens the input. Does not affect the batch size.
Timecontribe(Flatten()) => (?,1 ,106*512) 将输入序列化,空间进行同一