python-pytorch seq2seq+luong dot attention笔记1.0.3

python-pytorch seq2seq+luong dot attention笔记1.0.0

    • 可复用部分
    • 编写encoder
    • 编写Attention
    • 编写decoder
    • 编写seq2seq
    • 设定模型参数
    • 模型训练
    • 使用模型
    • 使用总结
    • 下一步
    • 参考链接

可复用部分

主要将数据弄成如下格式:
seq_example = [“你认识我吗”, “你住在哪里”, “你知道我的名字吗”, “你是谁”, “你会唱歌吗”, “你是张学友吗”]
seq_answer = [“当然认识”, “我住在成都”, “我不知道”, “我是机器人”, “我不会”, “肯定不是”]

同时设定embedding_size 、vocab_size、 hidden_size、 seq_len,实现word2index、index2word、encoder_input、decoder_input、target_input

代码如下:

# def getAQ():
#     ask=[]
#     answer=[]
#     with open("./data/flink.txt","r",encoding="utf-8") as f:
#         lines=f.readlines()
#         for line in lines:
#             ask.append(line.split("----")[0])
#             answer.append(line.split("----")[1].replace("\n",""))
#     return answer,ask# seq_answer,seq_example=getAQ()import torch
import torch.nn as nn
import torch.optim as optim
import jieba
import os
from tqdm import tqdmseq_example = ["你认识我吗", "你住在哪里", "你知道我的名字吗", "你是谁", "你会唱歌吗", "你有父母吗"]
seq_answer = ["当然认识", "我住在成都", "我不知道", "我是机器人", "我不会", "我没有父母"]# 所有词
example_cut = []
answer_cut = []
word_all = []
# 分词
for i in seq_example:example_cut.append(list(jieba.cut(i)))
for i in seq_answer:answer_cut.append(list(jieba.cut(i)))
#   所有词
for i in example_cut + answer_cut:for word in i:if word not in word_all:word_all.append(word)
# 词语索引表
word2index = {w: i+3 for i, w in enumerate(word_all)}
# 补全
word2index['PAD'] = 0
# 句子开始
word2index['SOS'] = 1
# 句子结束
word2index['EOS'] = 2
index2word = {value: key for key, value in word2index.items()}
# 一些参数
vocab_size = len(word2index)
seq_length = max([len(i) for i in example_cut + answer_cut]) + 1
print

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16019.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROS 2边学边练(51)-- 构建自定义(消息类型)RViz显示项

前言 一俩礼拜没有更新了,今天突然发现ROS 2突然有了新版本了,名为Jazzy,这更新速度与Qt有的一比。这么长时间没更新呢,一来工作上来活了,没那么多时间来继续ROS这块,二来,人懈怠了一点&#xf…

Grafana HTML Panel展示post获取后数据

<!DOCTYPE html> <html> <head><title>API 数据表格展示</title><script src"https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body><table id"data-table" border"1&qu…

航运复兴?大摩不信!

大摩认为&#xff0c;从供需关系来看红海危机只是推迟了航运业下行周期的到来&#xff0c;一旦干扰消除&#xff0c;行业可能重回周期性低迷。 红海危机加剧运力紧张&#xff0c;航运市场价格飞涨。 大摩在24日的一份报告中指出&#xff0c;受红海危机干扰航运市场运力&#…

Spring Boot+Debezium:解决 MySQL Binlog监听

在当今的企业应用中&#xff0c;对数据变更进行实时捕获和处理是至关重要的。而Debezium作为一个强大的开源平台&#xff0c;能够实时捕获数据库的变化事件&#xff0c;为实时数据流处理提供了可靠的解决方案。在本文中&#xff0c;我们将探讨如何将Debezium与SpringBoot项目无…

Springboot集成GRPC

Springboot集成GRPC 一、springboot版本二、GRPC的pom依赖2.1 服务端2.2 客户端3.构建依赖 三、配置文件服务端客户端 四、 demo4.1 编写proto文件4.2 生成文件4.3 服务端重写方法4.4 客户端调用该方法 五、测试 一、springboot版本 <groupId>org.springframework.boot&l…

pycharm找不到conda可执行文件解决办法

解决办法 1、第一种 按照以下步骤&#xff0c;找到condabin文件下面&#xff0c;conda.bat 文件&#xff0c;把路径给复制下来&#xff0c;粘贴到 Conda 可执行文件&#xff0c;即可。 然后再点击加载环境&#xff0c;我这里是已经汉化了 pycharm &#xff0c;如何汉化&…

Linux - 用户管理

1 基本介绍 Linux系统是一个多用户多任务的操作系统&#xff0c;任何一个要使用系统资源的用户&#xff0c;都必须先向系统管理员申请一个账号&#xff0c;然后以这个账号的身份进入系统 2 添加用户 基本语法 //添加用户 useradd 用户名 实列(root权限下) useradd huchen…

Less语法

一:less作用 是CSS的预处理器,扩充了CSS语言,使CSS具有一定逻辑性、计算功能;通了less语法,生成.CSS文件; 二:具体使用规则 1 less变量设置属性值 语法规范: @变量名:属性值名;CSS属性:@变量名;eg:给box盒子添加粉色背景 @bgcolor:purple; .box{background-col…

C++——list的实现以及源码

前言&#xff1a; 最近学习了clist的实现&#xff0c;这让我对迭代器的理解又上升了一个新的高度&#xff0c;注意&#xff1a;代码里的list是放在一个叫zgw的命名空间里边&#xff0c;但是在实现list的代码中没有加namespace&#xff0c;这里给个注意&#xff0c;以后复习时能…

解密论文评审过程:SCI论文是匿名送审的吗?

我是娜姐 迪娜学姐 &#xff0c;一个SCI医学期刊编辑&#xff0c;探索用AI工具提效论文写作和发表。 前几天有位学员问我&#xff0c;审稿人能看见我论文的作者和单位信息吗&#xff1f;应该是双方都匿名才更公平啊。 同行评议&#xff0c;在不同的期刊操作还真不一样。有双方…

spring学习笔记一

前言&#xff08;第一性原理&#xff09; 那么spring解决问题&#xff1a;JAVA开发框架&#xff0c;spring是用来解决企业级Java应用开发的问题。 通过依赖注入和面向切面编程来灵活管理和配置代码&#xff0c;提供一套工具来帮助开发和配置代码&#xff0c;提供了声明式事务…

AI重塑保险业未来:机器学习在风险评估、欺诈检测与客户服务中的深度应用

&#x1f9d1; 博主简介&#xff1a;阿里巴巴嵌入式技术专家&#xff0c;深耕嵌入式人工智能领域&#xff0c;具备多年的嵌入式硬件产品研发管理经验。 &#x1f4d2; 博客介绍&#xff1a;分享嵌入式开发领域的相关知识、经验、思考和感悟&#xff0c;欢迎关注。提供嵌入式方向…

linux笔记6--shell相关

文章目录 1. 查看当前的shell类型2. ps -f命令3. 父子shell4. 分号在命令里的作用问题&#xff1a;环境变量echo&#xff1a; 5. sleep和jobssleep:jobs:例子&#xff1a;&: 6. 外部命令和内建命令图解外部命令type命令 7. history命令8. alias命令9. 推荐 1. 查看当前的sh…

Midjourney Describe API 使用文档

Midjourney Describe API 使用文档 Midjourney Describe API 的主要功能是通过上传图片&#xff0c;获取对图片的描述。使用该 API&#xff0c;只需要传递图片文件&#xff0c;API 会返回图片的详细描述。无需繁琐的参数设置&#xff0c;即可获得高质量的图片描述。 支持多种图…

银企直连业务

项目背景 不同银行的银企直连没有统一的标准&#xff0c;相同的输入输出。因此&#xff0c;用户需要根据每家银行提供的技术文档定制化地完成调用、获取数据。银企直连就是为了解决这些难题。引入银企直连后&#xff0c;企业的业务系统可与各家银行对接&#xff0c;实现标准化…

StarRocks与ClickHouse:简要快速选型对比

1. 引言 在大数据分析领域&#xff0c;高性能的数据库系统是关键。StarRocks和ClickHouse作为列式存储数据库的代表&#xff0c;各自具有独特的优势。本文将深入探讨它们的特性和适用场景&#xff0c;为选择合适的数据库系统提供参考。 2. StarRocks与ClickHouse简介 2.1 St…

华为机考入门python3--(30)牛客30-字符串合并处理

分类&#xff1a;字符串、进制转换 知识点&#xff1a; 获取偶数下标的字符 even_chars my_str[::2] 获取奇数下标的字符 odd_chars my_str[1::2]) 翻转字符串 reversed_str my_str[::-1] 二进制转十进制 num int(reversed_binary, 2) 十进制转十六进制 …

JDBC使用QreryRunner简化SQL查询注意事项

QreryRunner是Dbutils的核心类之一&#xff0c;它显著的简化了SQL查询&#xff0c;并与ResultSetHandler协同工作将使编码量大为减少。 注意事项 1. 使用QreryRunner必须保证实体类的变量名&#xff0c;和sql语句中要查找的字段名必须相同&#xff0c;否则查询 不到数据,会出…

Oracle中创建子查询临时表

1. 创建子查询临时表&#xff0c;当前会话中可以查询到&#xff0c;创建临时表需要指定表空间&#xff0c;不然会使用默认的表空间。 CREATE TABLE temp_table TABLESPACE tablespace_name AS SELECT id, number, count(1) AS total FROM example_table GROUP BY id, number…