报错--RuntimeError: Too many open files. Communication with the workers is no longer possible.

问题描述

pytorch 的 dataloader 在读取数据时,设置了较大的 batchsize 和 num_workers. 然后训练一段时间报错:

RuntimeError: Too many open files. Communication with the workers is no longer possible. Please increase the limit using ulimit -n in the shell or change the sharing strategy by calling torch.multiprocessing.se t_sharing_strategy('file_system') at the beginning of your code

解决方法

在代码开头引入 torch 之后加上:

import torch.multiprocessing
torch.multiprocessing.set_sharing_strategy('file_system')
posted @ 2022-11-16 21:03  咖啡陪你  阅读(390)  评论(0编辑  收藏  举报