python-pytorch编写transformer模型实现问答0.5.00--训练和预测

python-pytorch编写transformer模型实现问答0.5.00--训练和预测

    • 背景
    • 代码
    • 训练
    • 预测
    • 效果

背景

代码写不了这么长,接上一篇
https://blog.csdn.net/m0_60688978/article/details/139360270

代码

#  定义解码器类
n_layers = 6  # 设置 Decoder 的层数
class Decoder(nn.Module):def __init__(self, corpus):super(Decoder, self).__init__()self.tgt_emb = nn.Embedding(vocab_size, d_embedding) # 词嵌入层self.pos_emb = nn.Embedding.from_pretrained( \get_sin_enc_table(vocab_size+1, d_embedding), freeze=True) # 位置嵌入层        self.layers = nn.ModuleList([DecoderLayer() for _ in range(n_layers)]) # 叠加多层def forward(self, dec_inputs, enc_inputs, enc_outputs): #------------------------- 维度信息 --------------------------------# dec_inputs 的维度是 [batch_size, target_len]# enc_inputs 的维度是 [batch_size, source_len]# enc_outputs 的维度是 [batch_size, source_len, embedding_dim]#-----------------------------------------------------------------   # 创建一个从 1 到 source_len 的位置索引序列pos_indices = torch.arange(1, dec_inputs.size(1) + 1).unsqueeze(0).to(dec_inputs)#------------------------- 维度信息 --------------------------------# pos_indices 的维度是 [1, target_len]#-----------------------------------------------------------------              # 对输入进行词嵌入和位置嵌入相加dec_outputs = self.tgt_emb(dec_inputs) 

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

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

相关文章

【JavaEE进阶】——带你详细了解Spring日志以及配置日志

目录 🚩Spring日志的认识 🚩Spring日志的作用 🚩观察日志 🚩使用日志 🎈在程序中得到日志对象 🎈使⽤⽇志对象输出要打印的内容 🚩日志框架的介绍 🎈门面模式(外观模式&…

Unity实现简单的第一人称控制

先看效果 实现方式 1.首先创建一个脚本 2.编辑脚本内容 付上脚本代码 private float RotationX 0;public float speed 2f;//移动速度// Use this for initializationvoid Start(){Cursor.lockState CursorLockMode.Locked;//锁定鼠标到中心点Cursor.visible false;//隐藏鼠…

(CPU/GPU)粒子继承贴图颜色发射

GetRandomInfo节点(复制贴进scratch pad Scripts) Begin Object Class/Script/NiagaraEditor.NiagaraClipboardContent Name"NiagaraClipboardContent_22" ExportPath/Script/NiagaraEditor.NiagaraClipboardContent"/Engine/Transient.NiagaraClipboardConten…

uni-app+php 生成微信二维码 分销海报

主要代码如下,可直接复制调试参数: //查询当前用户是否有分销海报public function user_poster(){$this->checkAuth();//查询会员信息$user $this->getUserInfoById($this->user_id);if(!empty($user[distribution_img])){$result[data] $use…

深入解析力扣170题:两数之和 III - 数据结构设计(哈希表与双指针法详解及模拟面试问答)

在本篇文章中,我们将详细解读力扣第170题“两数之和 III - 数据结构设计”。通过学习本篇文章,读者将掌握如何设计一个数据结构来支持两种操作,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释和ASCII图解,以便…

头歌数据结构与算法课程设计易 - 青蛙跳台阶

从前有一只青蛙想跳台阶去等峰&#xff0c;若该青蛙一次可以跳上1级台阶、也可以跳上2级、还可以跳3级。那么改青蛙从第0级台阶出发&#xff0c;在跳上第n级台阶且在第m级台阶停留过时有多少种跳法。 输入描述&#xff1a; 第一行两个正整数&#xff0c;n和m m<n 输出描述&a…

kubernetes镜像下载页,离线安装k8s的资源

kubernetes-apt-pool安装包下载_开源镜像站-阿里云 (aliyun.com) 【Kubernetes】Kubernetes各大版本的最新版本下载地址_kubet软件下载-CSDN博客

单位职员尤其女性,若你有文才那将前途无量!

单位职员尤其女性&#xff0c;若你有文才那将前途无量&#xff01; 公司职员尤其女性&#xff0c;若文才出众&#xff0c;恭喜你&#xff1a;提拔重用你是早晚的事&#xff01;不信看我给你分析-- 再说机关、企事业单位的职员&#xff0c;尤其是体制内职工&#xff0c;你若会写…

C# List

C# List 创建 List:添加元素:使用 AddRange 方法添加多个元素&#xff1a;插入元素:访问元素:移除元素:使用 Remove 方法移除一个元素&#xff1a;使用 RemoveAt 方法移除指定索引的元素&#xff1a;使用 RemoveAll 方法移除满足条件的所有元素&#xff1a; 查找元素:使用 Cont…

Goby 漏洞发布|万户ezEIP企业管理系统 /member/success.aspx 命令执行漏洞

漏洞名称&#xff1a;万户ezEIP企业管理系统 /member/success.aspx 命令执行漏洞 English Name&#xff1a;Wanhu-ez-EIP /member/success.aspx Command Execution Vulnerability CVSS core: 9.0 影响资产数&#xff1a;6175 漏洞描述&#xff1a; 万户ezEIP是一种企业资源…

在CentOS7下构建TeamSpeak服务器并增加网易云点歌插件

文章目录 部署TeamSpeak创建一个新用户下载并解压服务端下载解压 启动服务端同意许可协议启动与配置开放端口设置开机自启 客户端连接 部署TS3AudioBot并添加网易云插件安装ffmpeg下载TS3AudioBot本体与插件并解压配置TS3AudioBot启动设置开机自启 部署网易云API安装git安装Nod…

解读vue3源码-2

提示&#xff1a;看到我 请让滚去学习 vue3编译模版的提升 文章目录 vue3编译模版的提升静态节点提升补丁标志和block的使用附录&#xff1a; template explorer可以将我们的源模版转化成渲染函数代码&#xff0c;vue2中就有&#xff0c;而Vue3 template explorer 功能更加丰富…

外汇天眼:ESMA发布针对在投资服务中使用人工智能的公司的指导意见

欧洲证券和市场管理局&#xff08;ESMA&#xff09;&#xff0c;欧盟的金融市场监管机构和监督机构&#xff0c;发布了一份声明&#xff0c;为在向零售客户提供投资服务时使用人工智能技术&#xff08;AI&#xff09;的公司提供初步指导。 尽管人工智能的普及仍处于初期阶段&am…

请描述Vue常用的修饰符

在 Vue 中&#xff0c;修饰符&#xff08;Modifiers&#xff09;常用于自定义指令&#xff08;Directives&#xff09;和事件监听&#xff08;Event Listeners&#xff09;中&#xff0c;以改变指令或事件监听器的默认行为。以下是一些 Vue 中常用的修饰符&#xff1a; 1. 事件…

你认识nginx吗,nginx是做什么的,nginx可以做什么 --2)nginx配置

hello大家今天教大家如何用nginx实验tomcat的负载均衡&#xff0c;同理其他的也可以&#xff0c;如httpd等 首先需要准备一个nginx和tomcat包&#xff0c;这里用到的是版本号为 然后需要准备最少三台linux虚拟机&#xff0c;然后我们开始吧 1.安装tomcat 解包 tar zxf /mnt/…

学习 SSH Key 生成方法

SSH Key 是用于身份验证的一对密钥&#xff0c;包括公钥和私钥。公钥可以放在需要访问的服务器上&#xff0c;私钥则保留在本地。当你使用SSH连接到支持SSH Key认证的服务器时&#xff0c;服务器会用公钥来加密一个随机生成的字符串发送给客户端&#xff0c;客户端用私钥解密并…

C语言(字符和字符串函数)2

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#xff0c;在这里撰写成文一…

【LeetCode 130. 被围绕的区域】

1. 题目 2. 分析 这题其实非常不错。如果正向解&#xff0c;非常麻烦&#xff1b;因为很难界定哪些O是被包围的&#xff1f;但是如果反向解呢&#xff1f;因为边界的O不会被包围&#xff0c;那么就可以想到跟边界O相连的O都不会被包围。那么除此之外的O都会被包围&#xff0c…

【sklearn | 6】无监督学习与聚类分析

在前几篇教程中&#xff0c;我们探讨了 sklearn 的基础、高级功能&#xff0c;异常检测与降维&#xff0c;时间序列分析与自然语言处理&#xff0c;模型部署与优化&#xff0c;以及集成学习与模型解释。本篇教程将专注于无监督学习和聚类分析&#xff0c;这在探索性数据分析和数…

github有趣项目:自制“我的世界” project make

videocodehttps://www.youtube.com/watch?v4O0_-1NaWnY,https://www.bilibili.com/video/BV1oj411p7qM/?https://github.com/jdah/minecraft-weekend MAKE git clone --recurse-submodules https://github.com/jdah/minecraft-weekend.git 正克隆到 minecraft-weekend... …