我已经创建了一个类似于这样的
我将使用此数据加载器,如下所示。
在
在
为什么会出现这个错误并如何解决?
DataLoader
数据加载器。class ToTensor(object):
def __call__(self, sample):
return torch.from_numpy(sample).to(device)
class MyDataset(Dataset):
def __init__(self, data, transform=None):
self.data = data
self.transform = transform
def __len__(self):
return len(self.data)
def __getitem__(self, idx):
sample = self.data[idx, :]
if self.transform:
sample = self.transform(sample)
return sample
我将使用此数据加载器,如下所示。
dataset = MLBDataset(
data=data,
transform=transforms.Compose([
ToTensor()
]))
dataloader = DataLoader(dataset, batch_size=BATCH_SIZE, shuffle=True, num_workers=4)
dataiter = iter(dataloader)
x = dataiter.next()
这会失败并显示以下信息
THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1549628766161/work/aten/src/THC/THCGeneral.cpp line=55 error=3 : initialization error
THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1549628766161/work/aten/src/THC/THCGeneral.cpp line=55 error=3 : initialization error
THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1549628766161/work/aten/src/THC/THCGeneral.cpp line=55 error=3 : initialization error
THCudaCheck FAIL file=/opt/conda/conda-bld/pytorch_1549628766161/work/aten/src/THC/THCGeneral.cpp line=55 error=3 : initialization error
...
torch._C._cuda_init()
RuntimeError: cuda runtime error (3) : initialization error at /opt/conda/conda-bld/pytorch_1549628766161/work/aten/src/THC/THCGeneral.cpp:55
在
ToTensor()
中的return
命令中,实际上任何尝试将张量移动到GPU内部的尝试都会失败。我已经尝试过以下操作:a = np.array([[[1, 2, 3, 4], [5, 6, 7, 8], [25, 26, 27, 28]],
[[11, 12, np.nan, 14], [15, 16, 17, 18], [35, 36, 37, 38]]])
print(torch.from_numpy(a).to(device))
在
ToTensor()
的 __call__
函数中出现错误,并且显示相同的错误消息,但在其他地方都能成功运行。为什么会出现这个错误并如何解决?
import torch
x = torch.randn(2, 2, device='cuda:0')
print(x)
- trsvchnX = torch.from_numpy(X).cuda("cuda:0")
- trsvchn