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

调用GPT2生成文本时触发ValueError数组真值歧义问题如何解决

问题原因
  • 你通过from_pretrained加载的GPT2LMHeadModel默认是PyTorch框架的模型,仅支持处理PyTorch格式(pt)的输入张量
  • 你在generate_text函数内调用tokenizer.encode时,错误指定了return_tensors='tf',生成的是TensorFlow格式的张量,两种框架的张量格式不兼容,模型内部做布尔判断时无法识别跨框架的数组结构,就触发了这个真值判断歧义的报错。
修复方案

只需要修改generate_text函数内的编码参数,将return_tensors='tf'替换为return_tensors='pt'即可正常运行。修改后的对应代码如下:

def generate_text(inp):
    input_ids = tokenizer.encode(inp, return_tensors='pt')
    beam_output = model.generate(input_ids, max_length=100, num_beams=5, no_repeat_ngram_size=2, early_stopping=True)
    output = tokenizer.decode(beam_output[0], skip_special_tokens=True, clean_up_tokenization_spaces=True)
    return ".".join(output.split(".")[:-1]) + "."

如果你确实需要使用TensorFlow框架的模型做推理,可以将模型导入语句替换为from transformers import TFGPT2LMHeadModel,加载TFGPT2LMHeadModel的预训练权重即可保留return_tensors='tf'的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 14:24:04