출처: http://daewonyoon.tistory.com/246   [알락블록]


감사합니다.. 감사합니다..


ImportError: DLL load failed: DLL 초기화 루틴을 실행할 수 없습니다.


에러가 뜰 때 


구글링을 해 보니, stackoverflow 에 CPU의 AVX 인스트럭션 지원 때문에 문제일 수 있다는 글이 보였다. 즉, tensorflow 1.6 부터는 패키지 빌드시에 AVX 지원을 활성화해서 빌드하였고, 따라서 AVX 를 지원하지 않는 CPU에서는 빌드된 pip tensorflow 패키지는 동작에 문제가 발생한다.


https://stackoverflow.com/questions/49932993/importerror-dll-load-failed-a-dynamic-link-library-dll-initialization-routin


https://github.com/tensorflow/tensorflow/issues/17386




그래서, tensorflow 를 다시 1.6 아래로 다운시켜 ( pip install "tensorflow<1.6" ) 실행해 보니, import tensorflow as tf 가 성공했다. 


그리고, 내 피씨의 Celeron CPU의 지원을 확인해 보니, http://www.cpu-world.com/CPUs/Celeron_Dual-Core/Intel-Mobile%20Celeron%202957U.html 아니나 다를까 AVX 기능을 지원하지 않는 것으로 나타났다. 조금 오래된 노트북을 사용하는 경우 문제를 만날 수 있겠다. 아이고, 이 피씨에서는 최신버전의 tensorflow 테스트는 못하겠네.



요약 

ImportError: DLL load failed: DLL 초기화 루틴을 실행할 수 없습니다.


1. 에러가 뜨면 cpu가 AVX기능을 지원하는지 확인 해본다.

2. 지원하지 않는다면 텐서플로우를 지우고  pip install "tensorflow<1.6"  으로 다시 다운한다.





+ Recent posts