Tensorflow с Pycharm: неверный рост tenorflow.python.framework.errors_impl.InternalError: cudaGetDevice () не удалось - PullRequest
0 голосов
/ 05 декабря 2018

Context

После установки Tensorflow-GPU и всех его требований (а именно CUDA и cuDNN) я пытаюсь запустить Tensorflow с поддержкой GPU в Pycharm.

Проблема

Когда я запускаю простую программу под Pycharm, session.run вызывает исключение .

Исключение

    self._session = tf_session.TF_NewSessionRef(self._graph._c_graph, opts)
tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version

Важное примечание : Я полагаю, что проблема связана с Pycharm и / или его конфигурацией , поскольку при запуске той же простой программы в терминале не будет возникать исключение .

Вопрос

Как мне избавиться от этого исключения и заставить мою среду Pycharm работать как положено с Tensorflow?

-

Дополнительная информация

Моя простая тестовая программа

import tensorflow as tf


def main():
    # define the graph
    a = tf.constant(1.0)
    b = tf.constant(1.0)
    c = tf.constant(4.0)
    d = tf.div(tf.add(a, b), c)

    # execute the graph
    with tf.Session() as session:
        print(session.run(d))  # 0.5


if __name__ == '__main__':
    print("tensorflow version : " + tf.__version__)
    main()

Вывод вышеуказанной программы при запуске в терминале

(tf_env) usr@WHATEVER ~/Documents/Repos/tftest/tftest $ python intro.py 
tensorflow version : 1.12.0
2018-12-05 10:56:09.888809: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:964] 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-12-05 10:56:09.889285: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1432] Found device 0 with properties: 
name: GeForce GTX 1070 major: 6 minor: 1 memoryClockRate(GHz): 1.7465
pciBusID: 0000:01:00.0
totalMemory: 7.92GiB freeMemory: 7.52GiB
2018-12-05 10:56:09.889304: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1511] Adding visible gpu devices: 0
2018-12-05 10:56:10.126095: I tensorflow/core/common_runtime/gpu/gpu_device.cc:982] Device interconnect StreamExecutor with strength 1 edge matrix:
2018-12-05 10:56:10.126135: I tensorflow/core/common_runtime/gpu/gpu_device.cc:988]      0 
2018-12-05 10:56:10.126142: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1001] 0:   N 
2018-12-05 10:56:10.126366: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7252 MB memory) -> physical GPU (device: 0, name: GeForce GTX 1070, pci bus id: 0000:01:00.0, compute capability: 6.1)
0.5

Настройка переменной среды Pycharm

enter image description here

Установка и оборудование

Не думаю, что проблема связана смое оборудование / установка, но из Pycharm, но вот все, что вам нужно (или нет), чтобы знать об этом

У меня установлен Tensorflow в виртуальной среде conda с именем tf_env.

GPU : NVIDIA GTX GeForce 1070 (возможность 6.1)

Драйверы GPU : 384.130

Linux : 16.04

Tensorflow : 1.12.0

Набор инструментов CUDA : 9.0.176

cuDNN : 7.4.1.5

Личное соответствующее исследование

Этот ответ от Гавриила Алриши может помочь: https://www.quora.com/How-does-one-install-TensorFlow-to-use-with-PyCharm

Но я попытался добавить / usr / local /cuda / bin / для корневого содержимого это не сработало, и я не знаю, что он имеет в виду под cuDNN / bin /, так как не знаю, существует ли такой каталог.Непонятно, есть ли у меня такая же проблема или нет.

1 Ответ

0 голосов
/ 15 января 2019

Проблема на самом деле возникла из-за глупого смешения сред conda.Я работал в другой среде conda с аналогичным именем в Pycharm, но с другой установкой Tensorflow (из conda, а не в pip).

Задание правильного conda env сделало свою работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...