### embedding 层的使用 test
# 定义 Embedding 层
test_gender_embed = nn.Embedding(gender_size, embed_size)
# 原始特征
gender_fea
# embed 后的
test_gender_embed_result = test_gender_embed(torch.Tensor(gender_fea).long())
# reverse 是用来测试 mean 的
test_gender_embed_result_reverse = test_gender_embed(torch.Tensor(gender_fea[::-1].copy()).long())
test_gender_embed_result
test_gender_embed_result.size()
# 要先沿着一个新维度对输入张量序列进行连接(https://blog.csdn.net/xinjieyuan/article/details/105205326)
torch.stack((test_gender_embed_result, test_gender_embed_result_reverse),dim=1)
torch.stack((test_gender_embed_result, test_gender_embed_result_reverse),dim=1).size()
# 然后才可以 mean 因为 mean 是按照某个维度展开的,
# 如两个 torch.Size([216069, 32]) torch.Size([216069, 32]),必须要先拼成 torch.Size([216069, 2, 32]) 才可以沿着 dim=1 的维度 mean
torch.mean(torch.stack((test_gender_embed_result, test_gender_embed_result_reverse),dim=1), dim=1)
torch.mean(torch.stack((test_gender_embed_result, test_gender_embed_result_reverse),dim=1), dim=1).size()
pytorch Embedding 层的使用
最新推荐文章于 2023-05-12 13:42:10 发布