gpt4 book ai didi

Pytorch:保存张量列表的最佳实践?

转载 作者:行者123 更新时间:2023-12-05 04:47:05 27 4
gpt4 key购买 nike

我使用张量进行转换,然后将其保存在列表中。稍后,我将使用 Dataset 将其制成数据集,最后使用 DataLoader 来训练我的模型。为此,我可以简单地使用:

l = [tensor1, tensor2, tensor3,...]
dataset = Dataset.TensorDataset(l)
dataloader = DataLoader(dataset)

我想知道这样做的最佳做法是什么,以避免 l 的大小增长时 RAM 溢出?像 Iterator 这样的东西能避免吗?

最佳答案

保存张量

for idx, tensor in enumerate(dataloader0):
torch.save(tensor, f"{my_folder}/tensor{idx}.pt")

创建数据集

class FolderDataset(Dataset):
def __init__(self, folder):
self.files = os.listdir(folder)
self.folder = folder
def __len__(self):
return len(self.files)
def __getitem__(self, idx):
return torch.load(f"{self.folder}/{self.files[idx]}")

然后您可以实现自己的数据加载器。如果您不能将整个数据集保存在内存中,则需要加载一些文件系统。

关于Pytorch:保存张量列表的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68617340/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com