目录
报错:
data = self._data_queue.get(timeout=timeout)?
data = self._data_queue.get(timeout=timeout)RuntimeError: DataLoader worker (pid(s) 8528, 8488) exit-CSDN博客
要解决上面的错误也很简单,在主函数 if __name__ == '__main__': 的第一行加上 multiprocessing.freeze_support() ,使得主进程能够得到区分,这里我是运行Yolov5的代码出错的,我就用其主函数来演示,其修改如下:
import multiprocessing
"""
其他代码
"""
if __name__ == "__main__":
? ? multiprocessing.freeze_support()
? ? opt = parse_opt()
? ? main(opt)
原文链接:https://blog.csdn.net/ifhuke/article/details/132731060
原因分析
数据加载的线程未拿到数据导致一直等待。
1、检查数据,个别标签图片中没有mask数据,剔除这些数据后,重新执行训练操作一切正常。
2、opencv版本的问题,将低版本的opencv进行升级,重新进行训练。
data = self._data_queue.get(timeout=timeout)-CSDN博客
import os
os.environ["OMP_NUM_THREADS"] = "1"
os.environ["MKL_NUM_THREADS"] = "1"