报错现象:

ImportError: /usr/local/python3.9.18/lib/python3.9/site-packages/sklearn/utils/../../scikit_learn.libs/libgomp-d22c30c5.so.1.0.0: cannot allocate memory in static TLS block.

Traceback (most recent call last):
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmdetection3d/tools/train.py", line 151, in <module>
    main()
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmdetection3d/tools/train.py", line 147, in main
    runner.train()
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/runner/runner.py", line 1742, in train
    self._val_loop = self.build_val_loop(
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/runner/runner.py", line 1562, in build_val_loop
    loop = LOOPS.build(
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/registry/registry.py", line 570, in build
    return self.build_func(cfg, *args, **kwargs, registry=self)
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/registry/build_functions.py", line 123, in build_from_cfg
    obj = obj_cls(**args)  # type: ignore
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/runner/loops.py", line 369, in __init__
    self.evaluator = runner.build_evaluator(evaluator)  # type: ignore
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/runner/runner.py", line 1318, in build_evaluator
    return Evaluator(evaluator)  # type: ignore
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/evaluator/evaluator.py", line 25, in __init__
    self.metrics.append(METRICS.build(metric))
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/registry/registry.py", line 570, in build
    return self.build_func(cfg, *args, **kwargs, registry=self)
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/registry/build_functions.py", line 100, in build_from_cfg
    obj_cls = registry.get(obj_type)
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/registry/registry.py", line 451, in get
    self.import_from_location()
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmengine/mmengine/registry/registry.py", line 376, in import_from_location
    import_module(loc)
  File "/usr/local/python3.9.18/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmdetection3d/mmdet3d/evaluation/__init__.py", line 11, in <module>
    from .metrics import (IndoorMetric, InstanceSegMetric, KittiMetric, LyftMetric,
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmdetection3d/mmdet3d/evaluation/metrics/__init__.py", line 5, in <module>
    from .lyft_metric import LyftMetric  # noqa: F401,F403
  File "/testcodes/jh/mx_data/fcos3d/DrivingSDK/model_examples/FCOS3D/mmdetection3d/mmdet3d/evaluation/metrics/lyft_metric.py", line 10, in <module>
    from lyft_dataset_sdk.lyftdataset import LyftDataset as Lyft
  File "/usr/local/python3.9.18/lib/python3.9/site-packages/lyft_dataset_sdk/lyftdataset.py", line 18, in <module>
    import sklearn.metrics
  File "/usr/local/python3.9.18/lib/python3.9/site-packages/sklearn/__init__.py", line 74, in <module>
    from .utils._show_versions import show_versions  # noqa: E402
  File "/usr/local/python3.9.18/lib/python3.9/site-packages/sklearn/utils/_show_versions.py", line 16, in <module>
    from ._openmp_helpers import _openmp_parallelism_enabled
ImportError: /usr/local/python3.9.18/lib/python3.9/site-packages/sklearn/utils/../../scikit_learn.libs/libgomp-d22c30c5.so.1.0.0: cannot allocate memory in static TLS block

解决办法:

查看libgomp文件

root@bms-covacs:/usr/lib/aarch64-linux-gnu# ls  | grep libgomp
libgomp.so.1
libgomp.so.1.0.0

备份原本的

mv libgomp.so.1 libgomp.so.1.bak
mv libgomp.so.1.0.0 libgomp.so.1.0.0.bak

将报错中提示位置的libgomp软连接到该目录下即可解决问题

ln -s /usr/local/python3.9.18/lib/python3.9/site-packages/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0 /usr/lib/aarch64-linux-gnu/libgomp.so.1
ln -s /usr/local/python3.9.18/lib/python3.9/site-packages/scikit_learn.libs/libgomp-d22c30c5.so.1.0.0 /usr/lib/aarch64-linux-gnu/libgomp.so.1.0.0

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐