ImportError: dlopen: cannot load any more object with static TLS报错(已解决)

今天在跑yolov7-tiny模型网格训练的时候报错ImportError,主要因为cv2的导入顺序引起

报错详情:

发生异常: ImportError dlopen: cannot load any more object with static TLS

File "/home/xxx/model/yolov7-tiny-pytorch/utils/utils_map.py", line 13, in <module> import cv2

File "/home/xxx/model/yolov7-tiny-pytorch/utils/callbacks.py", line 18, in <module> from .utils_map import get_coco_map, get_map

File "/home/xxx/model/yolov7-tiny-pytorch/train.py", line 19, in <module> from utils.callbacks import EvalCallback, LossHistory

ImportError: dlopen: cannot load any more object with static TLS

解决方法:

查了下大家的方法普遍是更改导入顺序,我在把cv2放在第一个顺序和最后一个顺序导入仍然出错,因为导入的库太多,就没去找正确顺序。

从报错详情可以看出,主要是3个文件中互相导入的库的顺序出了问题,而且出错原因主要在cv2上,除了cv2,常见的这类型错误还会出在tensorflow库等。

解决方法很简单,只需要在每一个文件的开头都导入一遍cv2库,即可解决问题

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值