Di Windows, TensorFlow melaporkan salah satu atau kedua error berikut setelah menjalankan import tensorflow
pernyataan:
No module named "_pywrap_tensorflow"
DLL load failed.
Di Windows, TensorFlow melaporkan salah satu atau kedua error berikut setelah menjalankan import tensorflow
pernyataan:
No module named "_pywrap_tensorflow"
DLL load failed.
Jawaban:
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:
Jika Anda menjalankan Windows 32 pastikan untuk mendapatkan versi 32 bit dari file yang disebutkan di atas.
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).
cudnn64_6.dll
tidak akan cudnn64_5.dll
.
cudnn64_7.dll
menjadi help cudnn64_6.dll
.
Salah satu kesalahan menunjukkan bahwa sistem Anda belum diinstal MSVCP140.DLL
, yang diperlukan TensorFlow.
Untuk memperbaiki kesalahan ini:
MSVCP140.DLL
ada dalam %PATH%
variabel Anda .MSVCP140.DLL
tidak ada di Anda %PATH%
, instal
Visual C ++ 2015 redistributable (versi x64), yang berisi DLL ini.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.DLL
sudah memiliki jika
C:\Windows\System32\MSVCP140.DLL
, DANC:\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.
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 amd64
menggunakan:
import tensorflow as tf
Jadi, saya menurunkan versi tensorflow dari 1.7
menjadi 1.5
menggunakan 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.DLL
di folder sistem dan .DLL di variabel PATHEXT di Variabel Lingkungan.
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.
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
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.
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
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 .
Saya memposting pendekatan umum untuk memecahkan masalah "beban DLL gagal" dalam posting ini pada sistem Windows. Sebagai referensi:
Gunakan DLL dependency analyzer Dependencies untuk menganalisis
<Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd
dan 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.Cari informasi tentang DLL yang hilang dan instal paket yang sesuai untuk menyelesaikan masalah.
All files (*.*)
samping nama file, bukan hanya exe files (*.exe, *.dll)
.
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.
Dll tidak ditemukan. Instal Visual C ++ 2015 yang dapat didistribusikan ulang untuk diperbaiki.
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.
Dengan TensorFlow rilis 1.3.0, Anda perlu menggunakan Cudnn 6.0 sebagai ganti Cudnn 5.0 karena Cudnn 5.0 memberikan kesalahan ini. Jangan lupa untuk menambahkan variabel path ke Cudnn 6.0. Dengan cudnn64_6.dll Tensorflow Anda akan berfungsi dengan baik. Baca link di bawah ini. https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130
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
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.
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.
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.
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 ).
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 :
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!!!