pytorch + visdom 使用RNN分类预测姓名来自哪个国家

该博客介绍了使用PyTorch和Visdom进行RNN模型训练,以预测姓名所属的国家。作者在Windows环境下,利用特定数据集进行实验,通过转码、数据整合和one-hot编码处理姓名数据。神经网络采用简单的RNN结构,经过训练,发现英文姓名最难区分,而中国和韩国姓名易混淆。
摘要由CSDN通过智能技术生成

引用Sean Robertson 的一个小例子:https://github.com/spro/practical-pytorch

环境

系统:win10
cpu:i7-6700HQ
gpu:gtx965m
python : 3.6
pytorch :0.3

数据集

下载地址:https://download.pytorch.org/tutorial/data.zip

下载之后解压,放在项目根目录:

这里写图片描述

数据集方面,我们要解决的问题有:转码问题,数据整合,每一个数据的表示形态(本文应用还是one-hot,每个字符的one-hot)

每个名字构建成 [字符数,1(batch数,因为不用故1),one-hot表示的字符位置]

# string.ascii_letters生成所有字母, string.digits 生成数字
all_letters = string.ascii_letters+" .,;'"
n_letters = len(all_letters)
print(n_letters)
# >>57

转码部分,我也不是很懂这些,NFD、Mn应该都是代表编码种类把,作用是把所有名字都转化一种编码模式:

# unicode 转 标准ASCII编码
def unicode_to_ascii(s):
    s = "".join(c for c 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值