Ошибка при использовании tenorflow-gpu 2.0.0-alpha0 в python3.7 - PullRequest
0 голосов
/ 18 мая 2019

Я следовал инструкциям, показанным на веб-сайте tenorflow , до абсолютной буквы, но я все еще получаю следующую ошибку при попытке импортировать тензор потока в python:

Traceback (most recent call last):
File "C:\Users\redacted\source\Repos\TFTest1\TFTest1\tf2-gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module> from tensorflow.python.pywrap_tensorflow_internal import *
File "C:\Users\redacted\source\Repos\TFTest1\TFTest1\tf2-gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>     _pywrap_tensorflow_internal = swig_import_helper()
File "C:\Users\redacted\source\Repos\TFTest1\TFTest1\tf2-gpu\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 24, in swig_import_helper     _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\imp.py", line 242, in load_module     return load_dynamic(name, filename, file)
File "C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\imp.py", line 342, in load_dynamic     return _load(spec) ImportError: DLL load failed: The specified module could not be found.
Failed to load the native TensorFlow runtime.  See https://www.tensorflow.org/install/errors  for some common reasons and solutions.  Include the entire stack trace above this error message when asking for help.

, который выдается, когда я запускаю следующий код

import tensorflow as tf

Моя настройка следующая:

  • Windows 10
  • Процессор 2700X AMD
  • Графический процессор Nvidia RTX 2080
  • Python 3,7 (64 бита)
  • CUDA Toolkit 10.0
  • CUDAnn 7.5.1 (для CUDA 10.0)

В моей переменной среды PATH, определяемой пользователем, есть следующее:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include
C:\tools\cuda\bin

После этого я смог подтвердить правильность установки CUDA, выполнив в командной строке следующее:

nvcc -V

который показывает мне

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2018 NVIDIA
Corporation Built on Sat_Aug_25_21:08:04_Central_Daylight_Time_2018
Cuda compilation tools, release 10.0, V10.0.130

Я использую Visual Studio 2019 для запуска сценариев Python в новой виртуальной среде (с Python версии 3.7). В этой среде я выполнил следующую команду:

pip install tensorflow-gpu==2.0.0-alpha0

, который установил различные пакеты, и в этой среде я получаю вышеупомянутую ошибку.

В качестве примечания мой скрипт работает нормально, когда используется только тензор потока процессора. В среде Python 3.7 с добавленным пакетом pip install tensorflow==2.0.0-alpha0 все работает, но работает на моем процессоре, и медленно!

Двусторонний вопрос:

  • Как я могу заставить тензорный поток 2.0 выполнять свою работу на графическом процессоре, а не на процессоре?
  • Правильно ли настроены мои установки для GPU tenorflow 2.0?

Ответы [ 2 ]

2 голосов
/ 19 мая 2019

Я смог решить мою проблему , имея точно такую ​​же настройку, как я описал в моем первоначальном посте, но вместо использовал Python 3.6 вместо 3.7. Все остальные переменные остались прежними.

Я начал с новой среды в Visual Studio 2019 и запустил следующие операции импорта:

pip install tensorflow-gpu==2.0.0-alpha0

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

from tensorflow.python.client import device_lib

print(device_lib.list_local_devices())

, который отображается

[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 18233115335171708614
, name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 6588081767
locality {
  bus_id: 1
  links {
  }
}
incarnation: 12253248400045769946
physical_device_desc: "device: 0, name: GeForce RTX 2080, pci bus id: 0000:1d:00.0, compute capability: 7.5"
]

Я также мог видеть, что загрузка процессора составляла 25%, а загрузка графического процессора составляла 10% при использовании диспетчера задач. Я полагаю, что моя нейронная сеть несколько линейна и пока не может полностью использовать графический процессор.

Проблема решена!

1 голос
/ 18 мая 2019

Новый GPU?Была такая же проблема пару недель назад.У меня ушло несколько часов, чтобы найти проблему.Вот некоторые идеи:

По состоянию на апрель 2019 года я решил проблему «Ошибка загрузки DLL» в Windows 10 / Python 3.6.x / GPU RTX 20xx, установив CUDA 10.0 (, а не 10.1 или 9).х !!! ) с cuDNN 7.5.0.У меня также установлена ​​Visual Studio 2015.

Убедитесь, что это CUDA 10.0 !!Поместите файлы из cuDNN в соответствующие каталоги вашей установки CUDA.Не забудьте добавить расположение ваших файлов cuDNN * .dll (/ bin / папка вашей установки CUDA) в вашу переменную PATH (переменные среды win).

Tensorflow можно установить с помощью утилиты установки pip tenorflow-GPU (по состоянию на апрель версия 1.13.1).TF 2.0 должен работать так же.Ваша проблема, кажется, связана с CUDA.Однако, если нет конкретной причины, по которой вам нужен TF 2.0, я бы пошел со стандартной установкой.

...