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

微调漏洞检测模型时遇AttributeError: 'list'无'label'/'target'属性的解决

错误原因及解决方法

错误根源

你的代码假设m1是带有label或target属性的数据集对象(比如sklearn数据集、pandas DataFrame或自定义数据集类实例),但实际m1是一个普通Python列表,列表对象没有label或target这类属性,因此触发AttributeError。

针对性解决

根据m1的实际结构,选择对应的处理方式:

情况1:m1本身就是标签列表

如果m1直接存储了所有样本的标签(比如[0,1,0,0,1,...]),直接将m1传入compute_class_weight即可:

from sklearn.utils import class_weight
import torch

cw = class_weight.compute_class_weight(class_weight='balanced', classes=[0,1], y=m1)
c_weights = torch.FloatTensor([cw[0], cw[1]])

情况2:m1是(特征, 标签)组成的列表

如果m1的每个元素是包含特征和标签的元组/列表(比如[(特征1, 标签1), (特征2, 标签2), ...]),先提取所有标签再计算:

from sklearn.utils import class_weight
import torch

# 提取所有标签
labels = [item[1] for item in m1]
cw = class_weight.compute_class_weight(class_weight='balanced', classes=[0,1], y=labels)
c_weights = torch.FloatTensor([cw[0], cw[1]])

辅助排查:确认m1的结构

如果不确定m1的结构,先打印类型和部分内容:

print(type(m1))
print(m1[:5])  # 打印前5个元素,直观查看结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:27:19