我已经创建了一个类,它扩展数据集来为分割任务加载图像,因此一个输入和一个输出。每次调用getItem方法时,该类都会对输入和输出执行必要的数据扩充操作,并且工作得很好。
但是,当我将这个类用于pytorch数据加载器时,输入转换与输出转换不匹配。要执行相同的操作,我必须获取/设置随机操作/类的状态,我敢打赌数据加载器也会执行相同的操作,因此它们之间存在冲突。
我怎么修?
解决方案是创建所有随机类使用的本地实例,因为数据加载器没有。这样,执行的所有随机转换都是根据不受数据加载器影响的随机值/状态进行的。通常的方法是创建一个类并将所有的转换放在里面。