개발/기계학습
ImportError: numpy.core.xxx failed to import
Jaeyeon Baek
2019. 4. 19. 16:40
>>> import tensorflow as tf
ModuleNotFoundError: No module named 'numpy.core._multiarray_umath'
ImportError: numpy.core.multiarray failed to import
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "<frozen importlib._bootstrap>", line 968, in _find_and_load
SystemError: <class '_frozen_importlib._ModuleLockManager'> returned a result with an error set
ImportError: numpy.core._multiarray_umath failed to import
ImportError: numpy.core.umath failed to import
2019-04-19 16:29:29.263208: F tensorflow/python/lib/core/bfloat16.cc:675] Check failed: PyBfloat16_Type.tp_base != nullptr
Abort trap: 6
오픈소스 프로젝트를 진행하기 위해 콘다 가상환경에 소스코드를 GitHub에서 내려받고 requirements.txt의 설치를 진행했습니다.
pip install -r requirements.txt
이제 학습을 위해 Train 을 진행한 순간 에러가 발생했는데요, 의아해서 python 프롬프트로 접속해서 tensorflow 를 import 해보니 위와 같은 에러가 발생을 하네요. 설치된 numpy와 tensorflow의 버전 호환문제로 생각되는데 requirements.txt의 내용을보면 다음과 같습니다.
...
tensorflow
numpy==1.13.3
...
numpy는 버전이 명시되어 있는 반면에 tensorflow는 버전이 따로 명시되어 있지 않네요. 그렇기 때문에 tensorflow는 stable한 최신버전이 설치되었고 호환성에서 문제가 발생되었습니다. 이 문제의 해결방법은 간단합니다. numpy를 삭제하고 다시 설치해주면 되겠죠
pip uninstall numpy
pip install numpy
이런 문제를 미연에 방지하기 위해서는 requirements.txt 를 작성할 때 신경써야겠습니다.