今天用自己电脑跑训练,发现以下问题,cpu冒大烟,gpu抽大烟,动都不带动一下。
查了很多,基本围绕num_workers, pin_memory。其中pin_memory设置了true,num_workers到2就broken pipe,只能设置0。
后来才知道!linux系统中可以使用多个子进程加载数据,windows系统里是不可以的。
参考Pytorch DataLoader中的num_workers (选择最合适的num_workers值)_dataloader num_workers_堇禤的博客-优快云博客
准备用公司服务器跑了,自己电脑果然只能测通和不通。