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

运行MCLIP和ItalianCLIP零样本学习评估遇ValueError的解决咨询

修复CLIP零样本学习预测中的文本输入格式错误

这个错误的核心原因是:你传入模型编码方法(encode)的文本数据类型不合法,不符合tokenizer要求的str(单样本)、List[str](批量样本)格式。以下是具体修复步骤:

  • 检查并转换输入文本类型
    如果你的文本是存储在pandas Series、numpy数组这类容器里,必须先转换成纯字符串列表:

    • pandas Series转列表:texts = your_series.tolist()
    • numpy数组转列表:texts = your_array.tolist()
  • 确保输入是纯字符串结构
    单样本输入必须是单个字符串(比如"一只猫"),批量输入必须是仅包含字符串的列表(比如["一只猫", "一条狗"])。如果提示词列表里有非字符串元素(比如数字、空值),要统一转成字符串:

    # 过滤并转换所有元素为字符串
    text_prompts = [str(p) for p in text_prompts if p is not None]
    
  • 排查提示词构建逻辑
    零样本任务中常需要构建分类提示词(比如"a photo of a {class}"),检查这部分代码是否生成了非字符串的结构,比如不小心把变量类型错误带入,导致提示词列表混入非字符串元素。

示例修复代码

错误写法(传入非列表格式):

text_prompts = df['category']  # pandas Series,非合法输入
embeddings = model.encode(text_prompts)

正确写法:

text_prompts = df['category'].tolist()  # 转成字符串列表
text_prompts = [str(p) for p in text_prompts]  # 确保所有元素都是字符串
embeddings = model.encode(text_prompts)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:30:39