data = self._data_queue.get(timeout=timeout)

发布时间:2024年01月17日

目录

解决方法 freeze_support

解决方法 opencv 升级

方法3 OMP_NUM_THREADS:


报错:

data = self._data_queue.get(timeout=timeout)?

解决方法 freeze_support

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

解决方法 opencv 升级

原因分析

数据加载的线程未拿到数据导致一直等待。

1、检查数据,个别标签图片中没有mask数据,剔除这些数据后,重新执行训练操作一切正常。

2、opencv版本的问题,将低版本的opencv进行升级,重新进行训练。

方法3 OMP_NUM_THREADS:

data = self._data_queue.get(timeout=timeout)-CSDN博客

import os
os.environ["OMP_NUM_THREADS"] = "1" 
os.environ["MKL_NUM_THREADS"] = "1" 

文章来源:https://blog.csdn.net/jacke121/article/details/135639785
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。