当前位置: 首页 > news >正文

小白的进阶之路系列之十七----人工智能从初步到精通pytorch综合运用的讲解第十部分

NLP 从零开始:使用字符级 RNN 生成姓名

这是我们“NLP 从零开始”系列三部分教程中的第二部分。在第一个教程中,我们使用了 RNN 将姓名分类到其语言来源。这次我们将反过来,从语言生成姓名。

> python sample.py Russian RUS
Rovakov
Uantov
Shavakov> python sample.py German GER
Gerren
Ereng
Rosher> python sample.py Spanish SPA
Salla
Parer
Allan> python sample.py Chinese CHI
Chan
Hang
Iun

我们仍然手工构建了一个带有几个线性层的小型 RNN。主要区别在于,我们不再是在读取所有字母后预测类别,而是输入一个类别并一次输出一个字母。循环预测字符以形成语言(这也可以使用单词或其他更高阶的结构来完成)通常被称为“语言模型”。

推荐阅读

我假设您至少已安装 PyTorch,了解 Python,并理解张量 (Tensors)

  • https://pytorch.ac.cn/ 安装说明
  • 使用 PyTorch 进行深度学习:60 分钟速成 了解 PyTorch 的基本用法
  • 通过示例学习 PyTorch 获取广泛而深入的概览
  • PyTorch for Former Torch Users 如果您是 Lua Torch 用户

了解 RNN 及其工作原理也会有所帮助

  • 循环神经网络的惊人有效性 展示了许多实际示例
  • 理解 LSTM 网络 专门介绍了 LSTM,但对于理解 RNN 总体上也有帮助

我还建议阅读前一个教程:NLP 从零开始:使用字符级 RNN 对姓名进行分类

准备数据

注意

从这里下载数据并将其解压到当前目录。

有关此过程的更多详细信息,请参见上一个教程。简而言之,有许多纯文本文件 data/names/[Language].txt,每行一个姓名。我们将行拆分成数组,将 Unicode 转换为 ASCII,最终得到一个字典 {语言: [姓名 ...]}

from io import open
import glob
import os
import unicodedata
import stringall_letters = string.ascii_letters + " .,;'-"
n_letters = len(all_letters) + 1 # Plus EOS markerdef findFiles(path): return glob.glob(path)# Turn a Unicode string to plain ASCII, thanks to https://stackoverflow.com/a/518232/2809427
def unicodeToAscii(s):return ''.join(c for c in unicodedata.normalize('NFD', s)if unicodedata.category(c) != 'Mn'and c in all_letters)# Read a fil
http://www.lqws.cn/news/455329.html

相关文章:

  • OneCode 核心组件——APICaller介绍
  • 医疗机器人的精密控制核心:计算机视觉与运动学的深度协同
  • GDI绘制
  • 漂流瓶小游戏流量主微信小程序开源
  • C#中的QUIC实现
  • Rust 学习笔记:Unsafe Rust
  • QT的一些介绍
  • Abel 变换,离散型分部积分
  • Python爬虫:多线程环境下503错误的并发控制优化
  • 人工智能之数学基础:等价矩阵、合同矩阵、相似矩阵
  • MySQL查询语句的通配符*
  • Tkinter基础函数知识点整理
  • 人工分选终将淘汰?自动化如何重构电池制造品质红线?
  • haproxy 代理/负载均衡器学习二 配置文件介绍
  • Linux之线程同步与互斥
  • 【内存】Linux 内核优化实战 - vm.max_map_count
  • [Nginx] 配置中的sendfile参数详解:从传统 IO 到零拷贝的性能优化
  • torchmd-net开源程序是训练神经网络潜力
  • 从头搭建环境安装k8s遇到的问题
  • 宽带中频10.4G采集卡
  • Day37 早停策略和模型权重的保存
  • LeetCode 680.验证回文串 II
  • Python内存使用分析工具深度解析与实践指南(上篇)
  • GoogLeNet:图像分类神经网络的深度剖析与实践
  • chili3d笔记19 读取dxf
  • 大话软工笔记—功能的概要设计
  • 数据库part2---子查询
  • 常用绘图工具网站推荐合集:打造高效可视化表达力!
  • OPENPPP2 通用有栈协程架构探秘(C++ 高级编程指南)
  • 解决uni-app发布微信小程序主包大小限制为<2M的问题