首页 Paddle框架 帖子详情
DataLoader的问题和错误
收藏
快速回复
Paddle框架 其他炼丹技巧模型训练深度学习 1068 10
DataLoader的问题和错误
收藏
快速回复
Paddle框架 其他炼丹技巧模型训练深度学习 1068 10

 

不知道为什么只能返回一个参数,用DataLoader里面的例子也是只能返回一个数,y出不来,不知道为啥,不知道是不是框架的BUG,或者有遇到的大哥大姐,麻烦发消息给我,由衷的感谢

0
收藏
回复
全部评论(10)
时间顺序
唐恩达
#2 回复于2021-09

paddle是最新的2.1,单独迭代train_data没有问题,可以返回x,y

0
回复
FutureSI
#3 回复于2021-10

返回前打印打印返回的值都对不,测试用next再试试?

0
回复
FutureSI
#4 回复于2021-10

返回的numpy array的dtype一般要求float32或int,返回ndarray自动给转成tensor

0
回复
FutureSI
#5 回复于2021-10

有时类型不对会报错,但不会不返回啊

0
回复
唐恩达
#6 回复于2021-10
有时类型不对会报错,但不会不返回啊

没有任何错误,就是不返回,tokenizer是自己写的,默认都是返回int32的,单独遍历train_data没有任何问题,都是返回一组x,y,但是加上DataLoader就错了,只能返回一个,我也没有看是x还是y,反正就是不能用,我自己有改写了DataSet,不用DataLoader了,算是我的程序可以跑了,但是不知道是不是框架的BUG或者说我的用法哪里不对,特地的去用了源码的注释案例,也是错的,也是只能返回一个

0
回复
FutureSI
#7 回复于2021-10

我还真没遇到过这样的问题。返回也可以不用元组,用字典,如这样:

return {'img': img, 'ins': ins, 'img_path': self.inst_list[idx]}

0
回复
FutureSI
#8 回复于2021-10

毕竟Dataloader自带多进程并行,多卡训练蛮方便的

0
回复
FutureSI
#9 回复于2021-10
我还真没遇到过这样的问题。返回也可以不用元组,用字典,如这样: return {'img': img, 'ins': ins, 'img_path': self.inst_list[idx]}

这个读取时也要字典式读取

0
回复
唐恩达
#10 回复于2021-10
这个读取时也要字典式读取

确实,返回字典是没有错误的,在studio中返回是正常的,但是本机电脑中就不行,只能返回一个,我试图找那个消失的数据,找不到,不知道哪去了。

0
回复
skywalk163
#11 回复于2021-10

那个MyData类里的返回改成yield 试试
  

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