Python 将pytorch数据加载器加载到GPU中

Python 将pytorch数据加载器加载到GPU中,python,pytorch,gpu,dataloader,Python,Pytorch,Gpu,Dataloader,有没有办法将pytorch数据加载器(torch.utils.data.DataLoader)完全加载到我的GPU中 现在,我将每个批次分别加载到我的GPU中 CTX=torch.device('cuda')) 列车装载机=torch.utils.data.DataLoader( 列车运行数据集, 批次大小=批次大小, 洗牌=正确, 工人数量=0, ) net=net().to(CTX) 标准=nn.CrossEntropyLoss() optimizer=optim.SGD(net.param

有没有办法将pytorch数据加载器(
torch.utils.data.DataLoader
)完全加载到我的GPU中

现在,我将每个批次分别加载到我的GPU中

CTX=torch.device('cuda'))
列车装载机=torch.utils.data.DataLoader(
列车运行数据集,
批次大小=批次大小,
洗牌=正确,
工人数量=0,
)
net=net().to(CTX)
标准=nn.CrossEntropyLoss()
optimizer=optim.SGD(net.parameters(),lr=LEARNING\u RATE)
对于范围内的历元(历元):
对于输入,测试加载程序中的标签:
输入=输入。到(CTX)#这是数据加载到GPU的地方
标签=标签到(CTX)
optimizer.zero_grad()
输出=净(输入)
损失=标准(输出、标签)
loss.backward()
optimizer.step()
打印(f'training accurity:{net.validate(train_loader,device=CTX)}/{len(train_数据集)}')
打印(f'验证准确性:{net.validate(test\u loader,device=CTX)}/{len(test\u数据集)}')
其中,
Net.validate()
函数由

def验证(self,val_loader,device=torch.device('cpu')):
正确=0
对于输入,val_loader中的标签:
输入=输入。到(设备)
标签=标签。到(设备)
输出=火炬argmax(自身(输入),尺寸=1)
correct+=int(torch.sum(输出==标签))
返回正确

我想通过将整个数据集
trainloader
加载到我的GPU中来提高速度,而不是单独加载每个批次。所以,我想做一些类似的事情

列车装载机至(CTX)
这有没有一个等价的函数?因为
torch.utils.data.DataLoader
没有此属性
.to()


我使用安装了CUDA Toolkit 10.2的NVIDIA GeForce RTX 2060。

为什么将
num_workers
设置为
0
?如果你想让它更快,你应该增加这个数字,我想你为什么把
num_workers
设置为
0
?如果你想让它更快,我想你应该增加这个数字