文章目录
- 一、原始代码
- 二、修改后的代码--最后一行代码append进行了修改
- 总结
一、原始代码
logits_list = [] # 创建一个空列表来存储每个logitslabels_list = []for i, batch in enumerate(test_tasks):with torch.no_grad():logits, labels, loss, acc = self.fast_adapt(batch, self.model, loss_fun, query_num, shots, test_ways)logits_list=logits_list.append(logits)
二、修改后的代码–最后一行代码append进行了修改
logits_list = [] # 创建一个空列表来存储每个logitslabels_list = []for i, batch in enumerate(test_tasks):with torch.no_grad():logits, labels, loss, acc = self.fast_adapt(batch, self.model, loss_fun, query_num, shots, test_ways)logits_list.append(logits)
总结
这个错误是由于logits_list=logits_list.append(logits)
这行代码返回的是append()
方法的返回值,而不是logits_list
本身。
append()
方法会直接在原列表上进行修改,而不会返回一个新的列表。
因此,将代码修改为logits_list.append(logits)
就能解决这个错误。这样修改后,logits_list
列表会成功地将logits
添加到末尾。