В Windows при запуске «import tensorflow» возникает ошибка «Нет модуля с именем« _pywrap_tensorflow »»

87

В Windows TensorFlow сообщает об одной или обеих из следующих ошибок после выполнения import tensorflowоператора:

  • No module named "_pywrap_tensorflow"
  • DLL load failed.
Барри Розенберг
источник

Ответы:

78

Проблема заключалась в библиотеке cuDNN для меня - по какой-то причине cudnn-8.0-windows10-x64-v6.0 НЕ работал - я использовал cudnn-8.0-windows10-x64-v5.1 - ВСЕ ХОРОШО!

Моя установка, работающая с Win10 64 и Nvidia GTX780M:

  • Убедитесь, что у вас есть библиотека MSVCP140.DLL, проверив свою систему / путь - если нет, получите ее здесь
  • Запустите установщик Windows для python 3.5.3-amd64 отсюда - НЕ пробуйте более новые версии, поскольку они, вероятно, не будут работать
  • Получите cuDNN v5.1 для CUDA 8.0 отсюда - поместите его в папку ваших пользователей или в другое известное место (вам понадобится это на вашем пути)
  • Получите CUDA 8.0 x86_64 отсюда
  • Установите переменные PATH, как ожидалось, чтобы указать на библиотеки cuDNN и python (путь python должен быть добавлен во время установки python)
  • Убедитесь, что ".DLL" включен в вашу переменную PATHEXT.
  • Если вы используете тензорный поток 1.3, тогда вы хотите использовать cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705

Если вы используете Windows 32, обязательно получите 32-разрядные версии файлов, упомянутых выше.

DropHit
источник
8
Для большинства это может быть очевидно, но CUDA DLL - это 'cudnn64_5.dll', и папка, в которой она находится, должна находиться в пути ... а не в родительской папке. Я сбросил его в '% USERPROFILE% \ AppData \ Local \ cuda \ bin;'
Awesomeness
6
После добавления в PATH не забудьте закрыть командную строку и снова открыть ее. Кроме того, стоит ввести «cudnn64_5.dll» в командную строку, чтобы убедиться, что вы правильно указали путь.
Шон Коломбо
9
Я только что потратил 4 часа на отладку, если вы используете тензорный поток 1.3, тогда вы хотите использовать cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Крис Барретт,
2
Комментарий Криса Баррета решил это - если вы устанавливаете после августа 2017 года, скорее всего, вам понадобится cuDNN v6,0, а не 5 или 7.
user1761806
2
В моем случае также работал python 3.5.4. И я не смог установить cuda 8.0, пока не удалил vs17 и не установил Visual Studio 15 (win10). Это действительно смешно, что мне приходилось искать и устанавливать старые версии одну за другой.
Margincall
21

В моем случае файл «cudnn64_6.dll» в папке / bin пришлось переименовать в «cudnn64_5.dll», чтобы ошибка исчезла. Я легко потратил два часа, чтобы понять это, и я строго следовал официальному руководству по установке. Это верно для установки через pip (официально поддерживается) и conda (поддерживается сообществом).

Виталий
источник
1
Это был мой случай. TensorFlow требует «cuDNN v5.1» , но если вы установите cuDNN v6.0, то имя файла cudnn файл длл будет cudnn64_6.dllне cudnn64_5.dll.
Naetmul
1
Если вы используете тензорный поток 1.3, тогда вы хотите использовать cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Крис Барретт,
Я использую тензорный поток 1.3, и мне пришлось перейти с cudnn64_7.dll (самая последняя версия прямо сейчас) на cudnn64_6.dll, как говорит @ChrisBarrett, чтобы заставить его работать.
Хавьер Каберо
1
В случае с tensorflow 1.3 и cudNN 7 аналогично переименование cudnn64_7.dllв cudnn64_6.dllпомогает.
Smarty77
12

Любая ошибка указывает на то, что ваша система не установлена MSVCP140.DLL, а этого требует TensorFlow.

Чтобы исправить эту ошибку:

  1. Определите, MSVCP140.DLLесть ли в вашей %PATH%переменной.
  2. Если MSVCP140.DLLего нет %PATH%, установите распространяемый пакет Visual C ++ 2015 (версия x64), который содержит эту DLL.
Барри Розенберг
источник
1
Это может или не может решить его проблему (в зависимости от процессора или графического процессора), и хотя требуется DLL Windows, это также может быть другой проблемой - см. Ответ ниже. У меня не было проблем с dll windows, но вместо этого возникла проблема с cuDNN v6.0
DropHit
7
Вы можете проверить, есть ли MSVCP140.dll на вашем пути, набрав в командной строке следующее: где MSVCP140.DLL
nickandross
Ссылка приведет вас к версии 2010 года. Мы стремимся к версии 2015 или 2010?
DAG
10

Только для тензорного потока с ЦП:


Я установил тензорный поток с помощью команды:

pip3 install --upgrade tensorflow

Это установлено, tensorflow 1.7
но не удалось импортировать тензорный поток изнутри, python 3.6.5 amd64используя:

import tensorflow as tf

Итак, я понизил версию tenorflow с 1.7до, 1.5используя следующую команду:

pip3 install tensorflow==1.5

Это удалило предыдущую версию и установило 1.5. Теперь это работает.

Похоже, мой процессор не поддерживает набор инструкций AVX, который необходим вtensorflow 1.7

У меня были MSVCP140.DLLв системных папках и .DLL в переменной PATHEXT в Environment Variable.

Ракибул Хак
источник
моя система: Windows 8.1, Python 3.6.5 64 бит, без графического процессора.
Ракибул Хак
Возможно, придется обновить, поскольку с версии 2.0.0 tensorflow-gpu интегрирован в обычную установку - см. Здесь: github.com/fo40225/tensorflow-windows-wheel Возможно, вы захотите рассмотреть мой ответ здесь, где совместимость между различными версии python и tensorflow объясняются: stackoverflow.com/questions/45749992/…
Cadoiz
10

У меня 64-разрядная версия Win7 Pro на процессоре AMD, без графического процессора. Я следовал инструкциям из раздела «Установка с помощью собственного пакета» на https://www.tensorflow.org/install/install_windows . Шаг установки прошел нормально, но попытка импортировать тензорный поток привела к печально известному:

ImportError: No module named '_pywrap_tensorflow_internal'

Кажется, это одна из тех ситуаций, когда многие несвязанные вещи могут пойти не так, в зависимости от конфигурации, и все это приводит к одной и той же ошибке.

В моем случае ответом была установка MSVCP140.DLL.

У вас MSVCP140.DLLуже есть, если

  1. у вас есть файл C:\Windows\System32\MSVCP140.DLL, И
  2. если у вас 64-битная система, то у вас дополнительно есть C:\Windows\SysWOW64\MSVCP140.DLL.

Я установил его вручную, в чем не было необходимости (распространяемый пакет - это не весь беспорядок разработки Visual C ++, и он невелик). Используйте ссылку, опубликованную ранее в этом потоке, чтобы установить его: Распространяемый компонент Visual C ++ 2015 .

Кроме того, я рекомендую вам переопределить каталог установки по умолчанию для Python и поместить его где-нибудь C:\Program Files, кроме как под ним , потому что Windows пытается защитить файлы от записи в нем, что впоследствии вызывает проблемы.

JWG
источник
7

TensorFlowтребует MSVCP140.DLL, который может не быть установлен в вашей системе. Чтобы решить эту проблему, откройте терминал en type или вставьте эту ссылку:

C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl 

Обратите внимание, что это необходимо для установки версии TensorFlow только для ЦП.

Фахтима
источник
Для моей конфигурации работал следующий двоичный файл: storage.googleapis.com/tensorflow/windows/cpu/… - проверьте pypi.python.org/pypi/tensorflow на наличие доступных встроенных двоичных файлов. Я проверил несколько из них до тех пор, пока не завершится "import tensorflow as tf".
Дэвид
7

cuDNN вызывает мою проблему. Переменная PATH у меня не работает. Мне нужно скопировать файлы из моих папок cuDNN в уважительную структуру папок CUDA 8.0.

Крис Хан
источник
6

Для тех, кто работает на старом оборудовании:

Вы можете получить ту же ошибку из-за того, что у вас более старый процессор, использующий tenorflow-gpu 1.6.

Если ваш процессор был создан до 2011 года, то ваша максимальная версия tensorflow-gpu - 1.5.

Tensorflow 1.6 требует инструкций AVX на вашем процессоре. Проверено здесь: Tensorflow Github docs

ЦП с поддержкой AVX: ЦП Wiki AVX

Что я сделал в своей среде conda для tenorflow:

pip install --ignore-installed --upgrade tensorflow-gpu==1.5
Jasen
источник
4

Для меня проблемой была библиотека cuDNN, которая не соответствовала требованиям видеокарты. Я загрузил версию 6.0, но для моего GTX980ti, но рекомендованная вычислительная мощность на веб-сайте nvidia была 5.1 ( http://developer.nvidia.com/cuda-gpus ), поэтому я загрузил 5.1 и заменил версию 6.0, и как только я сделал, что он начал работать.

Ремус А.
источник
4

После долгих проб и ошибок и проверки того, что VC ++ 2015 Redistributable , cuDNN DLL и все другие зависимости доступны из PATH, похоже, что графический процессор Tensorflow работает только с Python 3.5.2(на момент написания этой статьи)

Итак, если вы используете Anaconda

  • conda create -n tensorflow-gpu python=3.5.2
  • activate tensorflow-gpu
  • pip install tensorflow-gpu

Затем откройте интерпретатор python и проверьте

>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

Найдено устройство 0 со свойствами:
name: GeForce 940M
major: 5 minor: 0
memoryClockRate (GHz)
1.176 pciBusID 0000: 06: 00.0
Общий объем памяти: 2,00 ГБ
Свободная память: 1,66 ГБ

Кредиты: это аккуратное руководство

Мадхур
источник
4

Для каждой версии Tensorflow требуется отдельная версия CuDnn. На сайте www.tensorflow.org об этом не упоминалось в руководстве по установке!

В моем случае используется тензорный поток версии 1.3, который использует cuDNN 6. https://github.com/tensorflow/tensorflow/releases .

Проверьте свою версию tensorfow и версию cuDNN, если они совпадают.

И, пожалуйста, укажите среду пути для cuDNN, если она по-прежнему не работает, проверьте ответ от @ Chris Han .

nguyenhoai890
источник
3

В этом посте я опубликовал общий подход к устранению проблемы "Ошибка загрузки DLL" в системах Windows. Для справки:

  1. Используйте анализатор зависимостей DLL Dependencies для анализа <Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pydи определения точной отсутствующей DLL (обозначенной ?значком рядом с DLL). Путь к файлу .pyd основан на установленной мной версии графического процессора TensorFlow 1.9. Я не уверен, совпадают ли имя и путь в других версиях TensorFlow.

  2. Найдите информацию об отсутствующей DLL и установите соответствующий пакет для решения проблемы.

GZ0
источник
1
Мне нравится этот подход, поскольку он явно показывает, какие библиотеки отсутствуют. Выяснилось, что tensorflow 1.11 ищет библиотеки CUDA 9 и, похоже, не ищет библиотеки CUDA 10.
padmalcom
1
Большое спасибо за ваше предложение! На моей машине проблема заключалась в том, что тензорный поток искал DLL, которые поставляются с CUDA takeit v9, но я установил инструментарий CUDA v10
Флорис Девриз,
Это невероятно полезно. Обратите внимание, что вам нужно выбрать All files (*.*)рядом с именем файла, а не просто exe files (*.exe, *.dll).
Кадоис,
2

Может возникнуть соблазн оставить Powershell / cmd открытым в Windows. Я потратил разумное время, пока не решил закрыть и снова открыть свой Powershell, только чтобы понять, что я все сделал правильно.

Виктор Сильва
источник
2

Если вы пытаетесь установить графический процессор tensorflow в Windows, вы можете найти это простое и интересное руководство.

Примечание. Если вы, например, используете PyCharm, вам необходимо изменить интерпретатор на созданную среду conda.

Весам На
источник
1

Dll не найдена. Для исправления установите распространяемый пакет Visual C ++ 2015.

Начо Гонсалес-Вальдисан
источник
Не уверен, что это точно охватывает это - в зависимости от сценария - см. Выше ответ, связанный с cuDNN v6.0 - также может потребоваться включить ссылку на указанную вами библиотеку (что я сделаю прямо здесь microsoft.com/en-us/download/ details.aspx? id = 48145 по сравнению с этим
коротким
1

Проблема заключалась в библиотеке cuDNN для меня. Мне удалось запустить тестовый код после добавления каталога (возможно, папки bin) библиотеки cuDNN (а не файла LIB) в Windows PATH.

Для справки я установил TensorFlow из источника с помощью PIP и моей ОС: Windows 7 и IDE: Visual Studio 2015.

Облако Чо
источник
1

В выпуске TensorFlow 1.3.0 вам нужно использовать Cudnn 6.0 вместо Cudnn 5.0, поскольку Cudnn 5.0 выдает эту ошибку. Не забудьте добавить переменную пути в Cudnn 6.0. С cudnn64_6.dll ваш Tensorflow будет работать нормально. Прочтите ссылку ниже. https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130

Шивам Панвар
источник
1

Мои два цента:

У меня было множество проблем, пытаясь правильно установить CUDA 8.0 в Windows 7. У меня была установлена ​​предыдущая версия, и я хотел обновить ее, поэтому я удалил ее и попытался установить CUDA 8.0 (для tensorflow 1.3). Установка не удалась каждый раз, я попытался перейти на CUDA 7.5 и смог установить его, но имел массу проблем с tenorflow (аналогично описанной здесь проблеме PATH). Короче говоря: у меня сработало следующее:

1) Удалите ВСЕ компоненты NVIDIA (кроме драйвера видеокарты)

2) Загрузите CUDA toolkit 8.0 (и патч) https://developer.nvidia.com/cuda-downloads

3) Проверьте CheckSum MD5 (я использовал MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533, но подойдет любой), чтобы убедиться, что они в порядке (несколько раз случалось, что установщик не был загружен должным образом из-за моего Wi-Fi роутера).

4) Запустите установщик набора инструментов CUDA от имени пользователя root.

5) загрузите cudnn 8.0 v6 и добавьте его местоположение в переменную PATH https://developer.nvidia.com/rdp/cudnn-download

Надеюсь, что это поможет и избавит от головной боли ...

ПРИМЕЧАНИЕ. Этот сценарий очень помог мне в устранении проблемы! (Спасибо, мистер) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

Edgarbc
источник
1

Я постараюсь дать решение, которое сработало для меня. Похоже, что к такой ситуации может привести другой набор проблем.

32-битное программное обеспечение работает в 64-битной ОС. Я установил anaconda-3 (32 бит) в свою 64-битную ОС. Он работал отлично. Я решил установить tenorflow на свой компьютер, и сначала он не установился. Я использовал среду conda для установки tenorflow и получил эту ошибку.

Решение: если вы используете 64-битную ОС, установите 64-битную анаконду, а если 32-битную ОС, то 32-битную анаконду . Затем выполните стандартную процедуру, описанную на веб-сайте tensorflow для Windows (установка анаконды). Это позволило без проблем установить tensorflow.

user2736738
источник
1

мой ответ предназначен только для пользователей Windows 10, поскольку я пробовал следующее в Windows 10. Расширяя некоторые из приведенных выше ответов, я предлагаю следующее: если вы используете anaconda, вы можете избежать всего и просто установить anaconda-navigator с помощью команды

conda install -c anaconda anaconda-navigator

Затем вы можете запустить навигатор из командной строки с помощью команды

anaconda-navigator

При запуске этой команды вы получаете простой графический интерфейс, в котором вы можете создать виртуальную среду, создать среду с помощью python = 3.5.2 и установить модуль tensorflow-gpu или tensorflow, выполнив поиск модуля в поле поиска с помощью графического интерфейса, он также позаботится установки правильных файлов cuda для вас. Использование навигатора Anaconda - самое простое решение.

Если вы не используете анаконду, позаботьтесь о следующих

tenorflow-gpu 1.3 требует python 3.5.2, cuda development kit 8.0 и cudaDNN 6.0, поэтому при установке убедитесь, что вы выполнили команду

pip install tensorflow-gpu==1.3

tenorflow-gpu 1.2.1 или меньше требует python 3.5.2, cuda development kit 8.0 и cudaDNN 5.1, поэтому при установке убедитесь, что вы выполнили команду

pip install tensorflow-gpu==1.2.1

Ниже приведены шаги, которые необходимо выполнить для обоих описанных выше процессов. Настройка переменных пути. У вас должны быть следующие системные переменные.

CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
CUDA_PATH = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"
CUDA_PATH_V8.0 = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0"

Ваш PATHTEXT должен включать ".DLL" вместе с другими расширениями.

".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"

Также добавьте к себе следующий путь

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\extras\CUPTI\libx64;
C:\Windows\SysWOW64;
C:\Windows\System32        

Если вы получаете ошибки, вы можете загрузить приведенный ниже код с помощью mrry, этот код проверит вашу настройку и сообщит вам, если что-то не так https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

Ссылки: http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

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

M2skills
источник
Вариант anaconda звучит великолепно, но, глядя на anaconda.org/anaconda/tensorflow-gpu, версия tensorflow-gpu для Windows кажется 1.1, есть ли способ получить 1.3 через anaconda?
ftiaronsem
@ftiaronsem Невозможно установить 1.3 с помощью anaconda-navigator, если вы хотите 1.3, тогда перейдите по ссылке и сделайте пометку для использования cudaDNN 6.0
M2skills
1

tenorflow 1.3 пока не поддерживает cuda 9.0 . Перехожу на cuda 8.0 , потом работает.

ичуду
источник
1

Для людей, нашедших этот пост в 2019 году, эта ошибка также могла возникнуть из-за того, что версия Python 3.7 не поддерживает TensorFlow (см. Https://www.tensorflow.org/install/pip ). Итак, проверьте версию Python:

python --version

Если он больше 3,6, его следует понизить до 3,6. Для Анаконды:

conda install python=3.6

Затем установите TensorFlow.

pip install tensorflow

Кстати, у меня не было версии GPU, поэтому в моем случае не было проблем, связанных с CUDA.

Каталин Стоян
источник
1
Я сделал это, у меня все еще та же проблема
RollRoll
Это сработало для меня на двух разных компьютерах, используемых моими учениками. У нас все еще была проблема после попытки решения выше. В вашем случае это может быть ситуация, описанная выше.
Catalin Stoean
0

Возникла та же проблема ( в 2019/09/09 ) при исследовании [SO]: Ошибка при обучении с использованием API оценки в тензорном потоке .

Настроить:

Ошибка :

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\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 "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 342, in load_dynamic
    return _load(spec)
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 24, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 74, in <module>
    raise ImportError(msg)
ImportError: Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\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 "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\imp.py", line 242, in load_module
    return load_dynamic(name, filename, file)
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\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.

Глядя на «неисправный» модуль (благодаря Dependency Walker ), оказывается, что отсутствует не сам модуль , а некоторые его зависимости ( файлы cu * _ 100 .dll ).

Img0

Проверьте [SO]: Python Ctypes - загрузка dll выдает ошибку OSError: [WinError 193]% 1 не является допустимым приложением Win32 (ответ @CristiFati) ( раздел « Выводы » в конце) для получения дополнительных сведений об этом виде ошибок.
У меня была более старая версия CUDA Toolkit ( 8 ) и, как следствие, файлы cu * _ 80 .dll .

Обновление до TensorFlow-GPU 1. 14 .0 ( "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu) сделало ошибку немного яснее (а также короче):

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow as tf"
Traceback (most recent call last):
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 75, in preload_check
    ctypes.WinDLL(build_info.cudart_dll_name)
  File "c:\install\x64\python\python\03.07.03\Lib\ctypes\__init__.py", line 356, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 126] The specified module could not be found

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\__init__.py", line 28, in <module>
    from tensorflow.python import pywrap_tensorflow  # pylint: disable=unused-import
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\__init__.py", line 49, in <module>
    from tensorflow.python import pywrap_tensorflow
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\pywrap_tensorflow.py", line 30, in <module>
    self_check.preload_check()
  File "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\lib\site-packages\tensorflow\python\platform\self_check.py", line 82, in preload_check
    % (build_info.cudart_dll_name, build_info.cuda_version_number))
ImportError: Could not find 'cudart64_100.dll'. TensorFlow requires that this DLL be installed in a directory that is named in your %PATH% environment variable. Download and install CUDA 10.0 from this URL: https://developer.nvidia.com/cuda-90-download-archive

Шаги :

  • Удалите любую версию CUDA Toolkit (необязательно)
  • Установите [nVidia.Developer]: Архив CUDA Toolkit 10.0
    • Обязательно установите v10.0 (для которой была создана эта версия TensorFlow-GPU ). Я установил v10. 1 (которая была последней, а также рекомендуемой версией на момент ответа), а имена .dll не совпадали ( cu * _10 1 .dll ). Поскольку я не хотел устанавливать v10.0 , я создал несколько символических ссылок (с «правильными» именами) на существующие файлы, и это сработало. Но имейте в виду, что это не поддерживается !!! Вы можете столкнуться со странным поведением (включая сбои) . Это ( неудачный ) обходной путь ( gainarie )
    • Кроме того, требуется совместимая (то есть для конкретной версии CUDA Toolkit ) версия cuDNN ( [nVidia.Developer]: cuDNN Archive ). Для того , чтобы получить доступ к загрузки URL , NVidia требуется членство

После вышеуказанных шагов, а также установки правильных путей все заработало:

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> set PATH=%PATH%;%CUDA_PATH%\bin;f:\Install\x64\NVidia\GPU Computing Toolkit\cuDNN\7.6\bin

[cfati@CFATI-5510-0:e:\Work\Dev\StackOverflow\q057588589]> "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -c "import tensorflow;print(\"Success!!!\")"
Success!!!
CristiFati
источник