transformer 最简单学习3, 训练文本数据输入的形式

1、输入数据中,源数据和目标数据的定义

cpp 复制代码
def get_batch(source,i):
    '''
    
    用于获取每个批数据合理大小的源数据和目标数据
    参数source 是通过batchfy   得到的划分batch个 ,的所有数据,并且转置列表示
    i第几个batch
    '''
    bptt = 15  #超参数,一次输入多少个batch 数据,现在数据矩阵,一行表示一个batch, 一共有n个行,  

    # len(source) - 1 - i  从大往小变化,知道小到bptt,所以seq_len,大部分时间都是bptt 个=15个,最后几个训练才越来越少
    seq_len = min(bptt, len(source) -1-i)  #一共是列的元素长度,30个,  行是10个,一共三个batch ,
    # 这是转置过的,现在,就变成30个batch,每个batch 长度是3
    
    # 行数错一位,目标数据是原数据向下一位,
    data = source[i:i+seq_len]
    # 这里最后会越界,使用view(-1) 保证形状正常
    target = source[i+1:i+1+seq_len]
    return data,target #

文本数据,是每个单词对应的索引,需要对数据进行切分成整块的batch, (n行,batch列), 变成竖着的,

(batch行,n列)

然后,横着一个一个 切分成一个个batch数据,下移一个索引获取目标数据,

(n行,batch列)

cpp 复制代码
【 
     [A,B,C,D,E,F]
     [G,H,I,J,K,L]
     [M,N,O,P,Q,R],
     ......
 】

(batch行,n列)

横着看,每一位 AGMS 对应 BHNT, AB, GH, MN, ST, 是相邻的两个字

相关推荐
小易老师AI实战1 小时前
Transformer掩码注意力机制原理深度解析
transformer·大模型基础·自回归生成·掩码注意力
comyccccc1 小时前
STM32F407VET6核心板的部分电路绘制学习笔记
笔记·stm32·学习
叼烟扛炮1 小时前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习
是隼人1 小时前
buuctf-pwn [极客大挑战 2019]Not Bad(orw+jmp)题解(学习过程持续更新)
学习·安全·pwn入门·ctf入门
花月mmc2 小时前
FPGA数字信号处理与深度学习
嵌入式硬件·深度学习·fpga开发·信号处理
拜小白2 小时前
【论文解读】OmniSRNet:畸变感知学习——从单张全向图像恢复房间结构
深度学习·计算机视觉·全景图
lazy H2 小时前
【计算机网络】第 12 篇:IPv6 详解——地址格式、地址类型与双栈网络
网络·经验分享·后端·学习·计算机网络·408
(●—●)橘子……2 小时前
力扣 第525场周赛 练习理解
数据结构·python·学习·算法·leetcode
FII工业富联科技服务2 小时前
从AI模型到Agentic AI:多智能体协同如何重构工业AI应用架构
人工智能·深度学习·ai智能体·agentic ai·柔性生产
一只QAQ2 小时前
python语法学习
linux·python·学习