エラー発生
$ python test.py Using TensorFlow backend. 2018-08-27 12:36:30.830945: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2018-08-27 12:36:30.929279: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:897] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2018-08-27 12:36:30.929734: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1405] Found device 0 with properties: name: Tesla K80 major: 3 minor: 7 memoryClockRate(GHz): 0.8235 pciBusID: 0000:00:1e.0 totalMemory: 11.17GiB freeMemory: 11.10GiB 2018-08-27 12:36:30.929767: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1484] Adding visible gpu devices: 0 2018-08-27 12:36:30.930228: E tensorflow/core/common_runtime/direct_session.cc:158] Internal: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version Traceback (most recent call last): File "create_mask.py", line 24, in <module> model_dlv3 = model.Deeplabv3() : : : tensorflow.python.framework.errors_impl.InternalError: Failed to create session.
解決方法(今回はこれでは治らない)
調べてみると2つの解決方法がある。が、なおらない…。
その1
以下をプログラムに埋め込む。
import os os.environ["CUDA_VISIBLE_DEVICES"] = "1"
その2
実行時に以下のようにする。
$ CUDA_VISIBLE_DEVICES=1 python **.py
原因
どうやらtensorflowとCUDAのバージョンによって起こるエラーのよう。
$ pip list Package Version ------------------- --------- : tensorflow 1.10.0 : $ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2017 NVIDIA Corporation Built on Fri_Sep__1_21:08:03_CDT_2017 Cuda compilation tools, release 9.0, V9.0.176
tensorflowは1.10.0、CUDAは9.0であることが確認出来た。
解決方法
今回はCUDAをバージョンアップすることでこの問題を解決する。
CUDA 9.2をインストール
公式サイトからダウンロードリンクを取得しあとは、その下にかかれているとおりに実行していく。
$ wget http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_9.2.148-1_amd64.deb $ sudo dpkg -i cuda-repo-ubuntu1604_9.2.148-1_amd64.deb $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub $ sudo apt-get update $ sudo apt-get install cuda
パスを設定
$ echo -e "\n# CUDA and cuDNN paths" >> ~/.bashrc $ echo 'export PATH=/usr/local/cuda-9.2/bin:${PATH}' >> ~/.bashrc $ echo 'export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64:${LD_LIBRARY_PATH}' >> ~/.bashrc $ source ~/.bashrc