[Tensorflow] Could not load dynamic library 'cudart64_101.dll'

    tensorflow를 최신 버전으로 설치하였으면 GPU가 장착되지 않은 컴퓨터에서 tensorflow-gpu를 pip로 인스톨하지 않았는데도 cudart64_101.dll을 로드 하지 못했다는 에러 메세지를 볼 수 있다.

     

    2020-07-31 23:23:48.633058: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'cudart64_101.dll'; dlerror: cudart64_101.dll not found
    2020-07-31 23:23:48.633232: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine.
    2020-07-31 23:23:55.506259: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'nvcuda.dll'; dlerror: nvcuda.dll not found
    2020-07-31 23:23:55.506470: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)
    2020-07-31 23:23:55.523800: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:169] retrieving CUDA diagnostic information for host: DESKTOP-8BVGPFB
    2020-07-31 23:23:55.524493: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:176] hostname: DESKTOP-8BVGPFB
    2020-07-31 23:23:55.524999: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
    2020-07-31 23:23:55.539282: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x25897d9d870 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
    2020-07-31 23:23:55.539537: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version

     

    해당 문제의 원인은 텐서플로우 2.1 부터 gpu가 내부적으로 통합이 되어 설치가 되기 때문이다.

    아래는 텐서플로우 2.1 릴리즈에 대한 내용이다.

     

    텐서플로 pip 패키지는 이제 Linux와 Windows 모두에 대해 기본적으로 GPU 지원(텐서플로-gpu와 동일)을 포함하고 있다. 이는 NVIDIA GPU가 있는 기계와 없는 기계에서 실행되며, 여전히 텐서플로우-gpu를 사용할 수 있으며, 패키지 크기가 우려되는 사용자들을 위해 CPU 전용 패키지를 텐서플로우-cpu로 다운로드할 수 있다.

    Windows 사용자: 공식적으로 발표된 텐서플로 Pip 패키지는 새로운 /d2ReducedOptimize를 활용하기 위해 Visual Studio 2019 버전 16.4와 함께 구축됨HergeFunctions 컴파일러 플래그. 이 새로운 패키지를 사용하려면, 여기 마이크로소프트 웹사이트에서 이용할 수 있는 "Visual Studio 2015, 2017 및 2019용 Microsoft Visual C++ 재배포 가능"을 설치해야 한다.

    이는 Windows의 소스에서 텐서플로우를 구축하는 데 필요한 최소 버전은 변경하지 않지만, EIGEN_STUNG_INLINE을 활성화하는 빌드는 이 플래그 없이 컴파일하는 데 48시간이 넘게 걸릴 수 있다. EIGEN_strong_INLINE 및 /d2ReducedOptimize에 대한 자세한 내용은 configure.py을 참조하십시오.거대한 기능.

    필요한 DLL, msvcp140.dll(구) 또는 msvcp140_1.dll(신규) 중 하나가 기계에 없는 경우, 가져오기 텐서플로우는 경고 메시지를 인쇄한다.

    텐서플로 pip 패키지는 CUDA 10.1과 CUNN 7.6으로 제작되었다.

    - https://github.com/tensorflow/tensorflow/releases/tag/v2.1.0 - 파파고로 번역

     

    내용을 읽어보면, 텐서플로우 2.1부터는 쿠다(CUDA) 10.1과 CUNN 7.6으로 제작이 되었으며 컴퓨터에 cuda가 깔려 있다면 해당 버전으로 설치를 하는 것이 좋다.

     

    GPU를 사용하지 않는 사람들은 해당 에러 메세지를 그냥 무시하면 된다. 로그의 설정을 변경하여 안보게 할 수 있지만 side effect으로 꼭 필요한 로그를 볼 수 없는 결과가 초래 될 수 있기 때문이다.

     

     

    반응형

    댓글

    Designed by JB FACTORY