请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师您好,关于embedding层

老师您好:)
1.embedding层的工作内容是不是首先定义一个vocab_size * embedding_dim的矩阵,然后将我们传进去的每条数据根据这个矩阵变成max_length (每条数据词的数量)* embedding_dim(每个词的长度),最后就会生成一个batch_size * max_length * embedding_dim的3D张量,请问这样理解对吗?
2.keras.layers.GlobalAveragePooling1D()是怎么把max_length这个维度消掉的,不是很理解,老师能简单讲讲吗?
谢谢

正在回答

1回答

  1. 对的。

  2. 上一步的输出是[batch_size, max_length, embedding_dim], GlobalAveragePooling1D会在max_length这一维上去做平均,所以才能消掉。而在哪一维上去做平均是由data_format='channels_last' 这个参数决定的,如果是channels_last,那么就消掉中间这一维,如果是channels_first, 就消掉最后一维。而这个channel你可以理解成特征的维度,对于图像,就是图像的通道数,对于文本就是embedding_dim,而GlobalAveragePooling会把特征维保留,把另一个维度给消掉。

0 回复 有任何疑惑可以回复我~
  • 提问者 manbaneverout #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-05-12 10:32:59
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号