首页 PaddleNLP 帖子详情
为什么我第一次运行没问题,第二次就报too many values的错误? 已解决
收藏
快速回复
PaddleNLP 问答NLP训练 1755 5
为什么我第一次运行没问题,第二次就报too many values的错误? 已解决
收藏
快速回复
PaddleNLP 问答NLP训练 1755 5

我爱志方小姐
已解决
4# 回复于2021-07
这个问题可能是由于你将这块代码执行了两遍造成的。在 map 之前,example 有两个元素,tokens 和 label,第一次 map 之后,example 转化为 id,有四个元素(conver_example 有四个返回值):input_ids, token_type_id, seq_len 和 labels。第二次再执行 map 时,即再一次执行 convert_example 将样本转化为 id 时,就会出错。 [代码] 赋值符号左的边需要接收两个值,而右边的 example 却有四个值,于是就会出现下面的错误: [代码] 解决的办法是,重新启动 AIStudio 执行器,然后再一步一步的执行。注意避免重复执行已经执行过的代码,这样有可能会在你不知情的情况下,改变已有变量的值,从而发生超出预期的错误。凡是需要重新执行前面代码的情况,都需要先重启 AIStudio 执行器。 以上~
展开
0
收藏
回复
全部评论(5)
时间顺序
深渊上的坑
#2 回复于2021-07

是不是需要重启下释放内存

0
回复
默默丶
#3 回复于2021-07
是不是需要重启下释放内存

不应该呀,它这个错误不是说的内存不够呀,而且错误定位到print那句了

0
回复
我爱志方小姐
#4 回复于2021-07

这个问题可能是由于你将这块代码执行了两遍造成的。在 map 之前,example 有两个元素,tokens 和 label,第一次 map 之后,example 转化为 id,有四个元素(conver_example 有四个返回值):input_ids, token_type_id, seq_len 和 labels。第二次再执行 map 时,即再一次执行 convert_example 将样本转化为 id 时,就会出错。

tokens, labels = example

赋值符号左的边需要接收两个值,而右边的 example 却有四个值,于是就会出现下面的错误:

ValueError: too many values to unpack (expected 2)

解决的办法是,重新启动 AIStudio 执行器,然后再一步一步的执行。注意避免重复执行已经执行过的代码,这样有可能会在你不知情的情况下,改变已有变量的值,从而发生超出预期的错误。凡是需要重新执行前面代码的情况,都需要先重启 AIStudio 执行器。

以上~

0
回复
默默丶
#5 回复于2021-07
这个问题可能是由于你将这块代码执行了两遍造成的。在 map 之前,example 有两个元素,tokens 和 label,第一次 map 之后,example 转化为 id,有四个元素(conver_example 有四个返回值):input_ids, token_type_id, seq_len 和 labels。第二次再执行 map 时,即再一次执行 convert_example 将样本转化为 id 时,就会出错。 [代码] 赋值符号左的边需要接收两个值,而右边的 example 却有四个值,于是就会出现下面的错误: [代码] 解决的办法是,重新启动 AIStudio 执行器,然后再一步一步的执行。注意避免重复执行已经执行过的代码,这样有可能会在你不知情的情况下,改变已有变量的值,从而发生超出预期的错误。凡是需要重新执行前面代码的情况,都需要先重启 AIStudio 执行器。 以上~
展开

哇,谢谢,这个细节我还没考虑到,我以为是代码出了bug

0
回复
FutureSI
#6 回复于2021-07

少在notebook里用全局变量,还是封装下吧~

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户