调用大语言模型相关部分

一个线性层或卷积层的参数
self.lm_head = nn.Linear(config.d_model, config.vocab_size, bias=False)
print("self.lm_head:",self.lm_head.parameters())
#<generator object Module.parameters at 0x7fb69851bba0>
#这属于返回一个生成器,可以用于
# self.optimizer = torch.optim.SGD(self.lm_head.parameters(), lr=self.args.lr, momentum=0.9)

print("self.lm_head:",list(self.lm_head.parameters())[0].size())
# torch.Size([32200, 768]

调用大语言模型相关部分代码

代码来自 github-huggingface/transformers

inputs = tokenizer(raw_inputs, padding=True, truncation=True, return_tensors="pt")
#return_tensors="pt"表示返回Pytorch张量。文本转换为数字之后必须再转换成张量tensors才能输入模型。
#padding=True表示填充输入序列到最大长度,truncation=True表示过长序列被截断
MinLengthLogitsProcessor(LogitsProcessor)

作用:input_ids 是解码器端的输入,当解码器端已输出的长度低于规定的self.min_length时,解码器端不能输出终止符号<eos>, 所以将词汇 <eos> 的概率置为负无穷

基础python知识补充

random.random()# 返回随机生成的一个实数,它在 [0,1) 范围内。
random.randint(a, b)# 随机返回一个范围在 [a, b] 范围内的随机整数。

range(0,10)#[0,10)左闭右开
二维数组:
[:,-1:] # 第一维全要,第二维只要最后一
[:,:-1] # 第一维全要,第二维不要最后一
grad、grad_fn、requires_grad()

Tensor属性:
data: 即存储的数据信息
requires_grad: 设置为True则表示该Tensor需要求导
grad: 该Tensor的梯度值,每次在计算backward时都需要将前一时刻的梯度归零,否则梯度值会一直累加。
grad_fn: 叶子节点通常为None,只有结果节点的grad_fn才有效,用于指示梯度函数是哪种类型。例如 y.grad_fn = <PowBackward0 at 0x213550af048>, z.grad_fn=<AddBackward0 at 0x2135df11be0>
is_leaf: 用来指示该Tensor是否是叶子节点。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值