Pytorch深度学习实践 第十三讲 循环神经网络(高级篇)

数据集链接:https://pan.baidu.com/s/1bIKasCIDAaT-_EwB6hcAMQ
提取码:4fij

任务:使用RNN通过训练name数据集来预测name属于哪个country.

RNN,LSTM,GRU都是循环神经网络。

网络模型:

 

 最后只需要一个Linear Layer来得出整个name序列的预测结果。

 数据准备

Name序列处理步骤:

1.Name转成序列List,即Maclean→['M', 'a', 'c', 'l', 'e', 'a', 'n']

2.用ASCⅡ码表示List中的元素,即[77 97 99 108 101 97 110],里面不是代表数值,而是one-hot向量,比如77是指共128维的向量,只有Idex77是1,其他都是0

3.Padding将一个batch_size的序列填充成长度相同,即[77 97 99 108 101 97 110 0 0 0]

4.将Padding后的矩阵转置

 5.按照序列长度降序排列

 同时要获得对应顺序的序列长度列表[10, 8, 7, 7, 7, 7,6, 6, 5]

 Country的处理步骤:

 给每个Country一个索引,构成字典{‘country’: idx},在name排序之后,也要按照相同的排序将name对应的Country标签排序。

就是说,在拿到一个name后,就能根据name在batch_size中的位置找到country,再进一步找到分类标签idx。

双向RNN

  • 8
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值