DataLoader的问题和错误
收藏
不知道为什么只能返回一个参数,用DataLoader里面的例子也是只能返回一个数,y出不来,不知道为啥,不知道是不是框架的BUG,或者有遇到的大哥大姐,麻烦发消息给我,由衷的感谢
0
收藏
请登录后评论
paddle是最新的2.1,单独迭代train_data没有问题,可以返回x,y
返回前打印打印返回的值都对不,测试用next再试试?
返回的numpy array的dtype一般要求float32或int,返回ndarray自动给转成tensor
有时类型不对会报错,但不会不返回啊
没有任何错误,就是不返回,tokenizer是自己写的,默认都是返回int32的,单独遍历train_data没有任何问题,都是返回一组x,y,但是加上DataLoader就错了,只能返回一个,我也没有看是x还是y,反正就是不能用,我自己有改写了DataSet,不用DataLoader了,算是我的程序可以跑了,但是不知道是不是框架的BUG或者说我的用法哪里不对,特地的去用了源码的注释案例,也是错的,也是只能返回一个
我还真没遇到过这样的问题。返回也可以不用元组,用字典,如这样:
return {'img': img, 'ins': ins, 'img_path': self.inst_list[idx]}
毕竟Dataloader自带多进程并行,多卡训练蛮方便的
这个读取时也要字典式读取
确实,返回字典是没有错误的,在studio中返回是正常的,但是本机电脑中就不行,只能返回一个,我试图找那个消失的数据,找不到,不知道哪去了。
那个MyData类里的返回改成yield 试试