Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不使用多处理,但在使用PyTorch数据加载器时在google colab上获取CUDA错误_Pytorch_Google Colaboratory_Dataloader - Fatal编程技术网

不使用多处理,但在使用PyTorch数据加载器时在google colab上获取CUDA错误

不使用多处理,但在使用PyTorch数据加载器时在google colab上获取CUDA错误,pytorch,google-colaboratory,dataloader,Pytorch,Google Colaboratory,Dataloader,我已经将我的GitHub repo克隆到google colab中,并尝试使用PyTorch的数据加载器加载数据 全局gpu,设备 如果torch.cuda.U可用(): gpu=真 设备='cuda:0' torch.set\u default\u tensor\u type('torch.cuda.FloatTensor')) 打印(“使用GPU”) 其他: gpu=False 设备='cpu' 打印(“使用CPU”) 数据_transforms=transforms.Compose([ #

我已经将我的GitHub repo克隆到google colab中,并尝试使用PyTorch的数据加载器加载数据

全局gpu,设备
如果torch.cuda.U可用():
gpu=真
设备='cuda:0'
torch.set\u default\u tensor\u type('torch.cuda.FloatTensor'))
打印(“使用GPU”)
其他:
gpu=False
设备='cpu'
打印(“使用CPU”)
数据_transforms=transforms.Compose([
#变换。调整大小(224),
transforms.ToTensor(),
标准化([0.3112,0.2636,0.2047],[0.2419,0.1972,0.1554])
])
列车路径='/content/convLSTM/code/data/train/'
val_path='/content/convLSTM/code/data/val/'
test_path='/content/convLSTM/code/data/test/'
train\u data=datasets.ImageFolder(root=train\u路径,transform=data\u transforms)
val\u data=datasets.ImageFolder(根=val\u路径,转换=data\u转换)
test\u data=datasets.ImageFolder(root=test\u path,transform=data\u transforms)
列车装载机=torch.utils.data.DataLoader(
列车运行数据,
批次尺寸=18,
工人数量=4,
shuffle=False,
pin_内存=真
)
val_loader=torch.utils.data.DataLoader(
瓦卢数据,
批次尺寸=18,
shuffle=False,
工人数量=4,
pin_内存=真
)
测试加载程序=torch.utils.data.DataLoader(
测试数据,
批次尺寸=18,
shuffle=False,
工人数量=4,
pin_内存=真
)
对于enumerate(train_loader)中的batch_idx(数据,目标):
打印(批量打印)
如果批次_idx==3:
打破
当我运行最后一个for循环时,出现以下错误:

RuntimeError: Cannot re-initialize CUDA in forked subprocess. To use CUDA with multiprocessing, you must use the 'spawn' start method
我尝试了
num\u workers=1
而不是
4
,但错误仍然存在。我没有使用任何多重处理

我也尝试过不设置
torch.set\u default\u tensor\u type('torch.cuda.FloatTensor')
,但错误仍然存在

Python:3.6.8 | PyTorch:1.3.1


问题似乎出在哪里?

不确定您是否已经修复了它,但只是为了以防万一,使用n个作品激活pytorch多重处理。要禁用它,您需要默认的工作人员数量为0,而不是1


尝试将num_workers设置为0或使用。

而不是我刚才尝试的整个数据加载器
test=next(iter(train_loader))
,我得到了相同的错误。