import torch
import torch.nn as nn
import math
# 定义模型参数
vocab_size = 16000 # 词汇表大小
seq_len = 128 # 序列长度
d_model = 128 # 隐藏层大小(这里可能是指Embedding层的输出维度,但通常用于Transformer的术语)
n_layer = 4 # 编码器/解码器层数(在简单的模型中可能未使用)
n_head = 4 # 注意力机制的头数(通常用于多头注意力)
# 注意:n_len 在这个上下文中可能不需要或是一个误解,这里暂时不包括在模型定义中
n_len = 4 # 假设这是你想要的序列长度
torch.arange(n_len, dtype=torch.float).unsqueeze(1)
class SinusoidPE(nn.Module):
def __init__(self):
super().__init__()
pe = torch.zeros(seq_len, d_model)
pos = torch.arange(0, seq_len, dtype=torch.float).unsqueeze(1)
emb = torch.exp(torch.arange(0, d_mod
大模型动手实现(一)
最新推荐文章于 2024-10-02 08:41:51 发布