Nlp pytroch多数据集无法发布?

Nlp pytroch多数据集无法发布?,nlp,dataset,pytorch,out-of-memory,Nlp,Dataset,Pytorch,Out Of Memory,我想在pythorch上实现Word2vec。由于数据太大,无法立即加载到内存中,因此我将数据拆分为几个数据文件。每次使用数据时,我都会加载数据并创建一个数据集和数据加载器w.r.t文件(这里我使用数据加载器洗牌并获取小批)。但是,在完成一些迭代之后(完全使用了一个数据文件),我没有释放数据集w.r.t数据文件,它将一直保存内存,我如何释放数据集。代码如下所示: for file_id in range(0,file_nums): dataset = MyDataset(file

我想在pythorch上实现Word2vec。由于数据太大,无法立即加载到内存中,因此我将数据拆分为几个数据文件。每次使用数据时,我都会加载数据并创建一个数据集和数据加载器w.r.t文件(这里我使用数据加载器洗牌并获取小批)。但是,在完成一些迭代之后(完全使用了一个数据文件),我没有释放数据集w.r.t数据文件,它将一直保存内存,我如何释放数据集。代码如下所示:

for file_id in range(0,file_nums):
        dataset = MyDataset(file_paths[file_id])
        dataloader = DataLoader(dataset, batch_size=args.mb, shuffle=True)
        for  minibatch in dataloader:
            iword, owords, opower = minibatch
            loss = sgns(iword, owords,opower)
            optim.zero_grad()
            loss.backward()
            optim.step()
            loss.detach()   
        del dataset
        gc.collect() # dataset can not be released