inputs = {‘input_ids’: batch[0],# 第一行
‘attention_mask’: batch[1],# 第二行
‘intent_label_ids’: batch[3],
‘slot_labels_ids’: batch[4]}
if self.args.model_type != ‘distilbert’:
inputs[‘token_type_ids’] = batch[2]
outputs = self.model(**inputs)
作用1:将列表解开成为几个独立的参数,传入函数。
举例:
list1 = [1, 2, 3]
print(*list1)
# 输出结果
1 2 3
作用2:作用与二位列表,按行拆解二位列表。
举例:
#作用于二维列表
array = [[1, 2, 3],
[4, 5, 6]
]
print(array)
print(*array)
print(type(array))
print(type(*array))
输出结果:
[[1, 2, 3], [4, 5, 6]]
[1, 2, 3] [4, 5, 6]
<class 'list'>
print(type(*array))
TypeError: type() takes 1 or 3 arguments
作用:** 会把接收到的参数存入一个字典。
举例:
def print_1(input_ids, attention_mask, token_type_ids, intent_label_ids, slot_labels_ids):
print("input_ids:",input_ids)
print("attention_mask:", attention_mask)
print("token_type_ids:", token_type_ids)
print("intent_label_ids:", intent_label_ids)
print("slot_labels_ids:", slot_labels_ids)
if __name__ == '__main__':
batch = [ [ [11],
[22]],
[ [33],
[44]],
[ [55],
[66]],
[ [77],
[88]],
[ [99],
[00]] ]
inputs = {'input_ids': batch[0], # 第一行
'attention_mask': batch[1], # 第二行
'token_type_ids': batch[2],
'intent_label_ids': batch[3],
'slot_labels_ids': batch[4] }
print_1(**inputs)
print(inputs)
输出结果:
input_ids: [[11], [22]]
attention_mask: [[33], [44]]
token_type_ids: [[55], [66]]
intent_label_ids: [[77], [88]]
slot_labels_ids: [[99], [0]]
{'input_ids': [[11], [22]],
'attention_mask': [[33], [44]],
'token_type_ids': [[55], [66]],
'intent_label_ids': [[77], [88]],
'slot_labels_ids': [[99], [0]]}
参考链接:https://blog.csdn.net/weixin_51130521/article/details/124191097