You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于Python的基础Transformer损失计算:代码疑问求解

代码第3行model_inputs['labels'] = torch.tensor([1])的功能与作用解释

先贴出完整代码片段:

model_inputs = tokenizer(input_str, return_tensors="pt")

labels = ['NEGATIVE', 'POSITIVE']
model_inputs['labels'] = torch.tensor([1])

model_outputs = model(**model_inputs)

这行代码的具体功能和作用如下:

  • 给模型输入字典model_inputs添加真实标签的张量表示,让模型能自动计算分类损失。
  • 结合上方定义的标签列表['NEGATIVE', 'POSITIVE'],整数1对应标签POSITIVE,表示当前输入文本的真实情感是正面的。
  • 将整数标签转换成PyTorch张量格式:因为Transformer类模型(如BERT、RoBERTa等)要求输入的标签必须是张量类型,要和tokenizer输出的input_ids、attention_mask等张量格式统一,否则模型会报错。
  • 触发模型自动计算损失:如果输入字典包含labels,模型前向传播时会直接输出包含损失值的结果(存在model_outputs.loss中);如果不传这个标签,模型只会输出预测的logits(原始得分),不会计算损失。

内容的提问来源于stack exchange,提问作者Affectionate Mango

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 20:32:02