首页 > 解决方案 > 如何将命名变量添加到类初始化(或任何函数)

问题描述

我有这个类签名(初始化签名):

class TensorDataset(Dataset):
    def __init__(self, *tensors)

此类在此行中初始化:

dataset = TensorDataset(all_input_ids, all_attention_mask, all_token_type_ids, all_labels)

现在我想包装这个类,所以我创建了CustomDataset:

class CustomDataset(Dataset):
    def __init__(self, *tensors, **keywords):
        self.tensor_dataset = TensorDataset(*tensors)
        self.all_text = keywords["all_text"]

我也试过:

class CustomDataset(Dataset):
    def __init__(self, *tensors, all_text=None):
        self.tensor_dataset = TensorDataset(*tensors)
        self.all_text = all_text

但是当我尝试像这样初始化这个类时:

dataset = CustomDataset(all_input_ids, all_attention_mask, all_token_type_ids, all_labels, all_text: all_text)

我收到一个错误:预期语句结束 预期语句,找到 Py:RPAR

我究竟做错了什么?

标签: pythonpython-3.x

解决方案


我不确定你在用 all_text 尝试什么:所有文本,但命名的 args 应该像

all_text=all_text

所以试试吧。


推荐阅读