Pada Windows, menjalankan "import tensorflow" tidak menghasilkan modul bernama error "_pywrap_tensorflow"

87

Di Windows, TensorFlow melaporkan salah satu atau kedua error berikut setelah menjalankan import tensorflowpernyataan:

  • No module named "_pywrap_tensorflow"
  • DLL load failed.
Barry Rosenberg
sumber

Jawaban:

78

Masalahnya adalah Perpustakaan cuDNN bagi saya - untuk alasan apa pun cudnn-8.0-windows10-x64-v6.0 TIDAK berfungsi - Saya menggunakan cudnn-8.0-windows10-x64-v5.1 - SEMUA BAIK!

Pengaturan saya bekerja dengan Win10 64 dan Nvidia GTX780M:

  • Pastikan Anda memiliki lib MSVCP140.DLL dengan memeriksa sistem / jalur Anda - jika tidak mendapatkannya di sini
  • Jalankan penginstal windows untuk python 3.5.3-amd64 dari sini - JANGAN mencoba versi yang lebih baru karena mungkin tidak akan berfungsi
  • Dapatkan cuDNN v5.1 untuk CUDA 8.0 dari sini - letakkan di bawah folder pengguna Anda atau di lokasi lain yang diketahui (Anda akan membutuhkan ini di jalur Anda)
  • Dapatkan CUDA 8.0 x86_64 dari sini
  • Setel PATH vars seperti yang diharapkan untuk mengarah ke cuDNN libs dan python (jalur python harus ditambahkan selama pemasangan python)
  • Pastikan bahwa ".DLL" disertakan dalam variabel PATHEXT Anda
  • Jika Anda menggunakan tensorflow 1.3 maka Anda ingin menggunakan cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705

Jika Anda menjalankan Windows 32 pastikan untuk mendapatkan versi 32 bit dari file yang disebutkan di atas.

DropHit
sumber
8
Mungkin terlihat jelas bagi sebagian besar orang, tetapi CUDA DLL adalah 'cudnn64_5.dll' dan folder di dalamnya harus berada di jalur .. bukan folder induk. Saya menjatuhkannya di '% USERPROFILE% \ AppData \ Local \ cuda \ bin;'
Awesomeness
6
Setelah Anda menambahkan ke PATH, ingatlah untuk menutup command prompt Anda dan membukanya lagi. Juga, ada baiknya mengetik "cudnn64_5.dll" ke dalam prompt perintah Anda untuk memastikan Anda mendapatkan pengaturan jalur yang benar.
Sean Colombo
9
Saya hanya menghabiskan 4 jam men-debug ini, jika Anda menggunakan tensorflow 1.3 maka Anda ingin menggunakan cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Chris Barrett
2
Komentar Chris Barret menyelesaikannya - jika Anda menginstal setelah Agustus 2017 kemungkinan besar Anda memerlukan cuDNN v6,0 bukan 5 atau 7.
pengguna1761806
2
Dalam kasus saya, python 3.5.4 juga berfungsi. Dan saya tidak dapat menginstal cuda 8.0 hingga menghapus vs17 dan menginstal visual studio 15 (win10). Sangat konyol bahwa saya harus mencari dan menginstal versi lama satu per satu.
margincall
21

Dalam kasus saya, file "cudnn64_6.dll" di folder / bin harus diganti namanya menjadi "cudnn64_5.dll" agar kesalahan hilang. Saya dengan mudah menghabiskan dua jam untuk mencari tahu, dan saya mengikuti panduan pemasangan resmi ke surat itu. Ini berlaku untuk instalasi melalui pip (didukung secara resmi) dan conda (didukung komunitas).

Vitaly
sumber
1
Ini kasus saya. TensorFlow membutuhkan "cuDNN v5.1" tetapi jika Anda menginstal cuDNN v6.0, maka nama file dari file dll cudnn cudnn64_6.dlltidak akan cudnn64_5.dll.
Naetmul
1
Jika Anda menggunakan tensorflow 1.3 maka Anda ingin menggunakan cudnn64_6.dll github.com/tensorflow/tensorflow/issues/7705
Chris Barrett
Saya menggunakan tensorflow 1.3 dan saya harus mengubah dari cudnn64_7.dll (versi terbaru sekarang) ke cudnn64_6.dll sebagai @ChrisBarrett mengatakan untuk membuatnya berfungsi.
Javier Cabero
1
Dalam kasus tensorflow 1.3 dan cudNN 7, juga mengganti nama cudnn64_7.dllmenjadi help cudnn64_6.dll.
Smarty77
12

Salah satu kesalahan menunjukkan bahwa sistem Anda belum diinstal MSVCP140.DLL, yang diperlukan TensorFlow.

Untuk memperbaiki kesalahan ini:

  1. Tentukan apakah MSVCP140.DLLada dalam %PATH%variabel Anda .
  2. Jika MSVCP140.DLLtidak ada di Anda %PATH%, instal Visual C ++ 2015 redistributable (versi x64), yang berisi DLL ini.
Barry Rosenberg
sumber
1
Ini mungkin atau mungkin tidak memperbaiki masalahnya (tergantung pada CPU vs GPU) dan meskipun windows dll diperlukan, itu bisa menjadi masalah lain juga - lihat jawaban di bawah. Saya tidak memiliki masalah dengan windows dll tetapi memiliki masalah dengan cuDNN v6.0
DropHit
7
Anda dapat memeriksa apakah MSVCP140.dll ada di jalur Anda dengan mengetik yang berikut ini pada prompt perintah: di mana MSVCP140.DLL
nickandross
Tautan tersebut membawa Anda ke versi 2010. Apakah kami membidik versi 2015 atau 2010?
DAG
11

Saya memiliki Win7 Pro 64-bit pada AMD cpu, tidak ada GPU. Saya mengikuti petunjuk di bawah "Menginstal dengan pip asli" di https://www.tensorflow.org/install/install_windows . Langkah instalasi berjalan dengan baik tetapi upaya untuk mengimpor tensorflow menghasilkan hal yang terkenal:

ImportError: No module named '_pywrap_tensorflow_internal'

Ini tampaknya menjadi salah satu situasi di mana banyak hal yang tidak terkait bisa menjadi salah, tergantung pada konfigurasi, yang semuanya mengalir ke kesalahan yang sama.

Dalam kasus saya, menginstal MSVCP140.DLL adalah jawabannya.

Anda MSVCP140.DLLsudah memiliki jika

  1. Anda memiliki file C:\Windows\System32\MSVCP140.DLL, DAN
  2. jika Anda memiliki sistem 64 bit, maka Anda juga memilikinya C:\Windows\SysWOW64\MSVCP140.DLL.

Saya menginstalnya secara manual, yang tidak perlu (redistributable bukanlah keseluruhan kekacauan pengembangan Visual C ++ dan tidak besar). Gunakan link yang diposting sebelumnya di thread ini untuk menginstalnya: Visual C ++ 2015 dapat didistribusikan ulang .

Selain itu, saya menyarankan Anda untuk mengganti direktori instal default untuk Python dan meletakkannya di mana saja tidak di bawah C:\Program Files, karena Windows mencoba untuk melindungi file di sana, yang menyebabkan masalah nantinya.

JWG
sumber
10

Untuk tensorflow dengan CPU saja:


Saya telah menginstal tensorflow menggunakan perintah:

pip3 install --upgrade tensorflow

Ini diinstal tensorflow 1.7
Tapi tidak bisa mengimpor tensorflow dari withing python 3.6.5 amd64menggunakan:

import tensorflow as tf

Jadi, saya menurunkan versi tensorflow dari 1.7menjadi 1.5menggunakan perintah berikut:

pip3 install tensorflow==1.5

Ini menghapus versi sebelumnya dan menginstal 1.5. Sekarang berhasil.

Sepertinya, CPU saya tidak mendukung set instruksi AVX yang diperlukan ditensorflow 1.7

Saya punya MSVCP140.DLLdi folder sistem dan .DLL di variabel PATHEXT di Variabel Lingkungan.

Rakibul Haq
sumber
sistem saya: Windows 8.1, Python 3.6.5 64 Bit, Tanpa GPU.
Rakibul Haq
Mungkin harus diperbarui, karena sejak versi 2.0.0, tensorflow-gpu diintegrasikan ke dalam instalasi biasa - lihat di sini: github.com/fo40225/tensorflow-windows-wheel Mungkin Anda ingin mempertimbangkan jawaban saya di sini di mana kompatibilitas antara berbeda versi python dan tensorflow dijelaskan: stackoverflow.com/questions/45749992/…
Cadoiz
7

TensorFlow membutuhkan MSVCP140.DLL , yang mungkin tidak diinstal pada sistem Anda. Untuk mengatasinya buka terminal dan ketik atau tempel tautan ini:

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

Perhatikan bahwa ini untuk menginstal TensorFlow versi khusus CPU.

Fahtima
sumber
Untuk konfigurasi saya, biner yang berfungsi adalah: storage.googleapis.com/tensorflow/windows/cpu/… - Periksa pypi.python.org/pypi/tensorflow untuk mengetahui biner bawaan yang tersedia. Saya memeriksa beberapa di antaranya sampai "import tensorflow as tf" berhasil.
David
7

cuDNN menyebabkan masalah saya. Variabel PATH tidak bekerja untuk saya. Saya harus menyalin file di folder cuDNN saya ke dalam struktur folder CUDA 8.0.

Chris Han
sumber
6

Untuk Mereka yang Menjalankan Perangkat Keras yang Lebih Lama:

Anda mungkin mendapatkan kesalahan yang sama ini karena memiliki CPU yang lebih lama menggunakan tensorflow-gpu 1.6.

Jika cpu Anda dibuat sebelum tahun 2011, maka versi tensorflow-gpu maks Anda adalah 1.5.

Tensorflow 1.6 membutuhkan instruksi AVX pada cpu Anda. Diverifikasi di sini: Dokumentasi Tensorflow Github

AVX CPU yang diaktifkan: Wiki AVX CPUs

Apa yang saya lakukan di lingkungan conda saya untuk tensorflow:

pip install --ignore-installed --upgrade tensorflow-gpu==1.5
Jasen
sumber
4

Masalahnya bagi saya adalah pustaka cuDNN yang tidak sesuai dengan persyaratan kartu grafis. Saya mengunduh versi 6.0 tetapi untuk GTX980ti saya tetapi kemampuan komputasi yang disarankan di situs web nvidia adalah 5.1 ( http://developer.nvidia.com/cuda-gpus ) jadi saya mengunduh 5.1 dan mengganti versi 6.0 dan segera setelah saya ' telah melakukan itu mulai bekerja.

Remus.A
sumber
4

Setelah banyak trial and error, dan memastikan VC ++ 2015 Redistributable , cuDNN DLL, dan semua dependensi lainnya dapat diakses dari PATH, sepertinya Tensorflow GPU hanya berfungsi dengan Python3.5.2 (saat tulisan ini dibuat)

Jadi jika Anda menggunakan Anaconda

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

Kemudian buka interpreter python dan verifikasi

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

Perangkat yang ditemukan 0 dengan properti:
nama: GeForce 940M
mayor: 5 minor: 0
memoryClockRate (GHz) 1.176
pciBusID 0000: 06: 00.0
Total memori: 2.00GiB
Memori bebas: 1.66GiB

Penghargaan: panduan rapi ini

Madhur
sumber
4

Untuk setiap versi Tensorflow, diperlukan versi CuDnn yang berbeda. Di www.tensorflow.org , mereka tidak menyebutkannya di panduan instalasi!

Kasus saya menggunakan tensorflow versi 1.3 yang menggunakan cuDNN 6. https://github.com/tensorflow/tensorflow/releases .

Silakan periksa versi tensorfow dan versi cuDNN Anda jika keduanya cocok.

Dan tolong atur lingkungan jalan untuk cuDNN, jika masih tidak berfungsi, silakan periksa jawaban dari @ Chris Han .

nguyenhoai890
sumber
3

Saya memposting pendekatan umum untuk memecahkan masalah "beban DLL gagal" dalam posting ini pada sistem Windows. Sebagai referensi:

  1. Gunakan DLL dependency analyzer Dependencies untuk menganalisis <Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyddan menentukan DLL yang benar-benar hilang (ditunjukkan dengan ?di samping DLL). Jalur file .pyd didasarkan pada versi TensorFlow 1.9 GPU yang saya instal. Saya tidak yakin apakah nama dan jalurnya sama di versi TensorFlow lainnya.

  2. Cari informasi tentang DLL yang hilang dan instal paket yang sesuai untuk menyelesaikan masalah.

GZ0
sumber
1
Saya suka pendekatan ini karena secara eksplisit menunjukkan dll mana yang hilang. Menemukan bahwa tensorflow 1.11 sedang mencari dll CUDA 9 dan tampaknya tidak mencari perpustakaan CUDA 10.
padmalcom
1
Terima kasih banyak atas saran Anda! Di komputer saya, masalahnya adalah tensorflow mencari DLL yang disertakan dengan CUDA takeit v9, tetapi saya menginstal CUDA toolkit v10
Floris Devreese
Ini sangat berguna. Perhatikan bahwa Anda harus memilih di All files (*.*)samping nama file, bukan hanya exe files (*.exe, *.dll).
Cadoiz
2

Seseorang mungkin tergoda untuk tetap membuka Powershell / cmd di Windows. Saya telah menghabiskan waktu yang wajar sampai saya memutuskan untuk menutup dan membuka kembali Powershell saya hanya untuk menyadari bahwa saya telah melakukan segalanya dengan benar.

Victor Silva
sumber
2

Jika Anda mencoba menginstal tensorflow GPU di Windows, Anda dapat menemukan ini tutorial menarik yang mudah .

Catatan: Jika Anda menggunakan PyCharm misalnya, Anda harus mengubah interpreter ke lingkungan conda yang dibuat.

Wesam Na
sumber
1

Dll tidak ditemukan. Instal Visual C ++ 2015 yang dapat didistribusikan ulang untuk diperbaiki.

Nacho González-Valdizán
sumber
Tidak yakin ini benar-benar mencakupnya - tergantung pada skenario - lihat jawaban di atas terkait dengan cuDNN v6.0 - juga mungkin ingin menyertakan tautan ke lib yang Anda sebutkan (yang akan saya lakukan di sini microsoft.com/en-us/download/ details.aspx? id = 48145 vs uraian singkat ini :)
DropHit
1

Masalahnya adalah Perpustakaan cuDNN bagi saya. Saya dapat menjalankan kode tes setelah menambahkan direktori (mungkin folder bin) dari cuDNN DLL (bukan file LIB) di Windows PATH.

Untuk referensi, saya menginstal TensorFlow dari sumber menggunakan PIP dan OS saya: Windows 7 dan IDE: Visual Studio 2015.

Cloud Cho
sumber
1

Dua sen saya:

Saya mengalami banyak masalah saat mencoba menginstal CUDA 8.0 dengan benar di Windows 7. Saya telah menginstal versi sebelumnya dan ingin meningkatkannya, jadi saya menghapusnya dan mencoba menginstal CUDA 8.0 (untuk tensorflow 1.3). Instalasi gagal setiap saat, saya mencoba menurunkan versi ke CUDA 7.5 dan dapat menginstalnya tetapi memiliki banyak masalah dengan tensorflow (mirip dengan masalah PATH yang dijelaskan di sini). Singkat cerita: apa yang berhasil bagi saya adalah:

1) Hapus instalasi SETIAP komponen NVIDIA (kecuali driver grafis tampilan)

2) Unduh CUDA toolkit 8.0 (dan tambalan) https://developer.nvidia.com/cuda-downloads

3) Periksa CheckSum MD5 (Saya menggunakan MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533 tetapi semua akan melakukannya) untuk memastikan semuanya baik-baik saja (itu terjadi beberapa kali penginstal tidak diunduh dengan benar karena tampaknya router WiFi saya).

4) Jalankan penginstal toolkit CUDA sebagai root

5) unduh cudnn 8.0 v6 dan tambahkan lokasinya ke variabel PATH https://developer.nvidia.com/rdp/cudnn-download

Semoga itu membantu dan menghilangkan sakit kepala ...

CATATAN: Skrip ini sangat membantu saya untuk men-debug masalah! (Terima kasih tuan) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

edgarbc.dll
sumber
1

Saya akan mencoba memberikan solusi yang berhasil untuk saya. Tampaknya rangkaian masalah yang berbeda dapat menyebabkan situasi ini.

Perangkat lunak 32 bit bekerja di OS 64 bit. Saya menginstal anaconda-3 (32 bit) di OS 64 bit saya. Itu bekerja dengan baik. Saya memutuskan untuk menginstal tensorflow di mesin saya dan tidak akan menginstal pada awalnya. Saya menggunakan lingkungan conda untuk menginstal tensorflow dan mendapatkan kesalahan ini.

Solusinya adalah jika Anda menjalankan OS 64 bit, instal anaconda 64 bit dan jika OS 32 bit maka anaconda 32 bit . Kemudian ikuti prosedur standar yang disebutkan di situs web tensorflow untuk windows (instalasi anaconda). Ini memungkinkan untuk memasang tensorflow tanpa masalah.

pengguna2736738
sumber
1

jawaban saya adalah untuk pengguna windows 10 hanya karena saya telah mencoba yang berikut di windows 10. Memperluas beberapa jawaban di atas saya sarankan ini: Jika Anda menggunakan anaconda maka Anda dapat menghindari semuanya dan cukup instal anaconda-navigator menggunakan perintah

conda install -c anaconda anaconda-navigator

Kemudian Anda dapat meluncurkan navigator dari command prompt menggunakan perintah

anaconda-navigator

Saat menjalankan perintah ini Anda mendapatkan gui sederhana di mana Anda dapat membuat lingkungan virtual, membuat lingkungan dengan python = 3.5.2 dan menginstal modul tensorflow-gpu atau tensorflow dengan mencari modul di kotak pencarian menggunakan gui, itu juga akan dilakukan. menginstal file cuda yang benar untuk Anda. Menggunakan navigator anaconda adalah solusi paling sederhana.

Jika Anda tidak menggunakan anaconda, perhatikan hal-hal berikut ini

tensorflow-gpu 1.3 membutuhkan python 3.5.2, cuda development kit 8.0 dan cudaDNN 6.0, oleh karena itu saat menginstal pastikan Anda menjalankan perintah

pip install tensorflow-gpu==1.3

tensorflow-gpu 1.2.1 atau kurang membutuhkan python 3.5.2, cuda development kit 8.0 dan cudaDNN 5.1 maka saat menginstal pastikan Anda menjalankan perintah

pip install tensorflow-gpu==1.2.1

Berikut adalah langkah-langkah yang perlu Anda ikuti untuk kedua proses di atas Menyiapkan variabel jalur Anda Anda harus memiliki variabel sistem berikut

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"

Anda PATHTEXT harus menyertakan ".DLL" bersama dengan ekstensi lainnya

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

Juga Tambahkan yang berikut ini ke jalur Anda

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        

Jika Anda mendapatkan kesalahan, Anda dapat mengunduh jalankan kode di bawah ini oleh mrry, kode ini akan memeriksa pengaturan Anda dan memberi tahu Anda jika ada yang salah https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c

Referensi : http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html

Referensi di atas sangat berguna. Mohon komentar untuk perbaikan jawaban ini. Semoga ini bisa membantu, Terima kasih.

M2skills
sumber
Opsi anaconda terdengar bagus, tetapi melihat anaconda.org/anaconda/tensorflow-gpu versi tensorflow-gpu untuk windows tampaknya 1.1, adakah cara untuk mendapatkan versi 1.3 melalui anaconda?
ftiaronsem
@ftiaronsem Tidak ada cara untuk menginstal 1.3 menggunakan anaconda-navigator jika Anda ingin 1.3 kemudian ikuti link referensi dan buat catatan untuk menggunakan cudaDNN 6.0
M2skills
1

tensorflow 1.3 belum mendukung cuda 9.0 . Saya menurunkan ke cuda 8.0 , lalu berhasil.

yichudu
sumber
1

Bagi orang-orang yang menemukan posting ini pada tahun 2019, kesalahan ini juga dapat terjadi karena Python versi 3.7 tidak memiliki dukungan untuk TensorFlow (lihat https://www.tensorflow.org/install/pip ). Jadi, periksa versi Python:

python --version

Jika lebih besar dari 3.6, itu harus diturunkan ke 3.6. Untuk Anaconda:

conda install python=3.6

Kemudian, instal TensorFlow.

pip install tensorflow

Btw, saya tidak memiliki versi GPU, jadi tidak ada masalah terkait CUDA dalam kasus saya.

Catalin Stoean
sumber
1
Saya melakukan itu, saya masih memiliki masalah yang sama
RollRoll
Ini bekerja untuk saya di dua komputer berbeda yang digunakan oleh siswa saya. Kami masih mengalami masalah setelah mencoba solusi di atas. Dalam kasus Anda, mungkin situasi yang dijelaskan di atas.
Catalin Stoean
0

Mengalami masalah yang sama ( pada 2019/09/09 ) saat menyelidiki [SO]: Kesalahan saat melatih menggunakan API penaksir di tensorflow .

Mendirikan:

Kesalahan :

[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.

Melihat modul "rusak" (berkat Dependency Walker ), ternyata bukan itu sendiri yang hilang, tetapi beberapa dependensinya (file cu * _ 100 .dll ).

Img0

Periksa [SO]: Python Ctypes - memuat dll melempar OSError: [WinError 193]% 1 bukan aplikasi Win32 yang valid (jawaban @ CristiFati) (bagian Kesimpulan di bagian akhir) untuk detail lebih lanjut tentang jenis kesalahan ini.
Saya memiliki versi CUDA Toolkit yang lebih lama ( 8 ), dan sebagai konsekuensinya, cu * _ 80 .dll .

Mengupgrade ke TensorFlow-GPU 1. 14 .0 ( "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu), membuat kesalahan sedikit lebih jelas (dan juga lebih pendek):

[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

Langkah-langkahnya :

  • Copot pemasangan versi CUDA Toolkit (opsional)
  • Instal [nVidia.Developer]: CUDA Toolkit 10.0 Archive
    • Pastikan untuk menginstal v10.0 (yang ini TensorFlow-GPU versi dibangun melawan ). Saya telah menginstal v10. 1 (yang merupakan yang terbaru, dan juga versi yang direkomendasikan pada waktu jawaban), dan nama .dll tidak cocok ( cu * _10 1 .dll ). Karena saya tidak ingin menginstal v10.0 , saya membuat beberapa symlink (dengan nama yang "benar") ke file yang ada, dan berhasil. Namun perlu diingat bahwa ini tidak didukung !!! Anda mungkin mengalami perilaku lucu (termasuk crash) . Ini adalah solusi (lumpuh) ( keuntungan )
    • Selain itu, diperlukan versi cuDNN yang kompatibel (artinya ini untuk versi CUDA Toolkit tertentu ) ( [nVidia.Developer]: cuDNN ). Untuk mengakses URL unduhan , keanggotaan nVidia diperlukan

Setelah langkah-langkah di atas, dan juga mengatur jalur yang benar, itu berhasil:

[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
sumber