RuntimeError: DataLoader worker (pid(s) 6600, 6601) exited unexpectedly

跑pytorch代码image_caption_gan的时候遇到:
RuntimeError: DataLoader worker (pid(s) 6600, 6601) exited unexpectedly

RuntimeError: DataLoader worker (pid(s) 6600, 6601) exited unexpectedly_第1张图片
这里一般都是num_worker的问题
在这里插入图片描述
我这里的num_worker=2
RuntimeError: DataLoader worker (pid(s) 6600, 6601) exited unexpectedly_第2张图片
此时,我把num_worker的值改为0,就可以了。

DataLoader的函数定义如下:

DataLoader(dataset, batch_size=1, shuffle=False, sampler=None,
num_workers=0, collate_fn=default_collate, pin_memory=False,
drop_last=False)

  1. dataset:加载的数据集(Dataset对象)

  2. batch_size:batch size

  3. shuffle::是否将数据打乱

  4. sampler: 样本抽样,后续会详细介绍

  5. num_workers:使用多进程加载的进程数,0代表不使用多进程

  6. collate_fn: 如何将多个样本数据拼接成一个batch,一般使用默认的拼接方式即可

  7. pin_memory:是否将数据保存在pin memory区,pin memory中的数据转到GPU会快一些

  8. drop_last:dataset中的数据个数可能不是batch_size的整数倍,drop_last为True会将多出来不足一个batch的数据丢弃
    于是将num_workers参数值改成了默认值 0,程序可以运行了

程序跑起来了:
RuntimeError: DataLoader worker (pid(s) 6600, 6601) exited unexpectedly_第3张图片

你可能感兴趣的:(code问题记录)