如何保存PyTorch的DataLoader实例?

嗜好

我想保存PyTorch的torch.utils.data.dataloader.DataLoader实例,以便我可以继续上次中断的地方进行训练(保留随机播放的种子,状态和所有内容)。

嗜好

这很简单。一个人应该设计自己的方法Sampler,该方法采用起始索引并自己对数据进行随机排序:

import random
from torch.utils.data.dataloader import Sampler


random.seed(224)  # use a fixed number


class MySampler(Sampler):
    def __init__(self, data, i=0):
        random.shuffle(data)
        self.seq = list(range(len(data)))[i * batch_size:]

    def __iter__(self):
        return iter(self.seq)

    def __len__(self):
        return len(self.seq)

现在将最后一个索引保存在i某处,并在下一次实例化DataLoader使用它:

train_dataset = MyDataset(train_data)
train_sampler = MySampler(train_dataset, last_i)
train_data_loader = DataLoader(dataset=train_dataset,                                                         
                               batch_size=batch_size, 
                               sampler=train_sampler,
                               shuffle=False)  # don't forget to set DataLoader's shuffle to False

在Colab上进行培训时,这非常有用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将图像加载到Pytorch DataLoader中?

从PyTorch DataLoader获取单个随机示例

Pytorch Dataloader如何处理可变大小的数据?

PyTorch:如何将DataLoader用于自定义数据集

如何将MNIST图像加载到Pytorch DataLoader中?

如何在Pytorch中简化用于自动编码器的DataLoader

如何将Pytorch Dataloader转换为numpy数组以使用matplotlib显示图像数据?

Pytorch DataLoader内存未释放

如何使用PyTorch Dataloader从Mosaic增强中获取类标签?

Pytorch DataLoader多个数据源

PyTorch DataLoader的VSCode错误?

如何将不适合内存的巨大数据集拆分和加载到pytorch Dataloader中?

使用pytorch DataLoader如何获取两个ndarray(数据和标签)?

PyTorch DataLoader以列表的形式返回该批次,并且该批次是唯一条目。如何从我的DataLoader获取张量的最佳方法

__getitem__的idx在PyTorch的DataLoader中如何工作?

如何在PyTorch中保存模型架构?

如何将自定义数据放入Pytorch DataLoader中?

无法通过PyTorch DataLoader进行迭代

分割DataLoader PyTorch

PyTorch:随机播放DataLoader

使用Mongo DB的PyTorch DataLoader

PyTorch DataLoader如何与PyTorch数据集交互以转换批次?

如何保存实例类的状态?

如何将图像数据加载到 pytorch dataLoader?

Django Signals - 如何保存实例

如何在 PyTorch 中保存模型?

如何在dataloader pytorch中分别加载根目录下的数据

創建和使用 PyTorch DataLoader

Pytorch DataLoader shuffle = False?