我现在面临一个问题,无法在集群中运行任何程序。它给出了错误。
OpenBLAS blas_thread_init: pthread_create: Resource temporarily unavailable
OpenBLAS blas_thread_init: RLIMIT_NPROC 64 current, 64 max
OpenBLAS blas_thread_init: pthread_create: Resource temporarily unavailable
OpenBLAS blas_thread_init: RLIMIT_NPROC 64 current, 64 max
OpenBLAS blas_thread_init: pthread_create: Resource temporarily unavailable
OpenBLAS blas_thread_init: RLIMIT_NPROC 64 current, 64 max
OpenBLAS blas_thread_init: pthread_create: Resource temporarily unavailable
OpenBLAS blas_thread_init: RLIMIT_NPROC 64 current, 64 max
Traceback (most recent call last):
File "hello-world.py", line 1, in <module>
from keras.models import Sequential
File "/home/amalli2s/anaconda3/lib/python3.6/site-packages/keras/__init__.py", line 3, in <module>
from . import utils
File "/home/amalli2s/anaconda3/lib/python3.6/site-packages/keras/utils/__init__.py", line 2, in <module>
from . import np_utils
File "/home/amalli2s/anaconda3/lib/python3.6/site-packages/keras/utils/np_utils.py", line 6, in <module>
import numpy as np
File "/home/amalli2s/.local/lib/python3.6/site-packages/numpy/__init__.py", line 142, in <module>
from . import add_newdocs
File "/home/amalli2s/.local/lib/python3.6/site-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/home/amalli2s/.local/lib/python3.6/site-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/home/amalli2s/.local/lib/python3.6/site-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/home/amalli2s/.local/lib/python3.6/site-packages/numpy/core/__init__.py", line 16, in <module>
from . import multiarray
SystemError: initialization of multiarray raised unreported exception
这个问题,我假设和这个一样 Python 的多个实例同时运行限制为 35
所以根据我设置时的解决方案 export OPENBLAS_NUM_THREADS=1
然后我最终得到以下错误:
terminate called after throwing an instance of 'std::system_error'
what(): Resource temporarily unavailable
Aborted
有没有其他人面临同样的问题或知道如何解决这个问题?谢谢你。
编辑:好的,这似乎是由于管理员试图实施的一些配置限制而发生的。现在又可以用了。
原文由 Haramoz 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是为将来遇到此错误的其他人准备的。集群设置很可能会限制用户可以在交互式节点上运行的进程数。线索在错误的第二行:
这里的限制设置为 64。虽然这对于正常的 CLI 使用来说已经足够了,但对于交互式运行 Keras 作业(如 OP)来说可能还不够;或者就我而言,尝试运行交互式 Dask 集群。
可以使用
ulimit -u 10000
来增加 shell 的限制,但这不能保证有效。最好通知像 OP 这样的管理员。