老师您好,关于embedding层
来源:7-3 数据padding、模型构建与训练
manbaneverout
2020-05-05
老师您好:)
1.embedding层的工作内容是不是首先定义一个vocab_size * embedding_dim的矩阵,然后将我们传进去的每条数据根据这个矩阵变成max_length (每条数据词的数量)* embedding_dim(每个词的长度),最后就会生成一个batch_size * max_length * embedding_dim的3D张量,请问这样理解对吗?
2.keras.layers.GlobalAveragePooling1D()是怎么把max_length这个维度消掉的,不是很理解,老师能简单讲讲吗?
谢谢
写回答
1回答
-
对的。
上一步的输出是[batch_size, max_length, embedding_dim], GlobalAveragePooling1D会在max_length这一维上去做平均,所以才能消掉。而在哪一维上去做平均是由data_format='channels_last' 这个参数决定的,如果是channels_last,那么就消掉中间这一维,如果是channels_first, 就消掉最后一维。而这个channel你可以理解成特征的维度,对于图像,就是图像的通道数,对于文本就是embedding_dim,而GlobalAveragePooling会把特征维保留,把另一个维度给消掉。
012020-05-12
相似问题