Windows'ta TensorFlow, bir import tensorflow
ifadeyi çalıştırdıktan sonra aşağıdaki hatalardan birini veya her ikisini birden bildirir :
No module named "_pywrap_tensorflow"
DLL load failed.
Windows'ta TensorFlow, bir import tensorflow
ifadeyi çalıştırdıktan sonra aşağıdaki hatalardan birini veya her ikisini birden bildirir :
No module named "_pywrap_tensorflow"
DLL load failed.
Yanıtlar:
Sorun benim için cuDNN Kitaplığıydı - cudnn-8.0-windows10-x64-v6.0 herhangi bir nedenle çalışmıyordu - cudnn-8.0-windows10-x64-v5.1 kullandım - HER ŞEY İYİ!
Win10 64 ve Nvidia GTX780M ile çalışan kurulumum:
Windows 32 çalıştırıyorsanız, yukarıda bahsedilen dosyaların 32 bit sürümlerini aldığınızdan emin olun.
Benim durumumda, / bin klasöründeki "cudnn64_6.dll" dosyasının, hatanın ortadan kalkması için "cudnn64_5.dll" olarak yeniden adlandırılması gerekiyordu. Bunu anlamak için kolayca iki saat harcadım ve resmi kurulum kılavuzunu harfiyen takip ettim. Bu, pip (resmi olarak desteklenir) ve conda (topluluk destekli) aracılığıyla kurulum için geçerlidir.
cudnn64_6.dll
olmayacaktır cudnn64_5.dll
.
cudnn64_7.dll
için cudnn64_6.dll
yardımcı olur.
Her iki hata MSVCP140.DLL
da TensorFlow'un gerektirdiği sisteminizin kurulmadığını gösterir .
Bu hatayı düzeltmek için:
MSVCP140.DLL
senin içindedir %PATH%
değişken.MSVCP140.DLL
Sepetinde değil %PATH%
, yüklemek
Visual C ++ 2015 yeniden dağıtılabilir bu DLL içerir (x64 versiyonu).AMD cpu üzerinde Win7 Pro 64-bit var, gpu yok. Https://www.tensorflow.org/install/install_windows adresinde "Yerel pip ile yükleme" altındaki talimatları izliyordum . Kurulum adımı iyi gitti ancak tensorflow'u içe aktarma girişimi kötü şöhrete neden oldu:
ImportError: No module named '_pywrap_tensorflow_internal'
Bu, yapılandırmaya bağlı olarak pek çok ilgisiz şeyin ters gidebildiği durumlardan biri gibi görünüyor ve bunların hepsi aynı hataya kademeli olarak geçiyor.
Benim durumumda, MSVCP140.DLL yüklemek cevaptı.
MSVCP140.DLL
Zaten sahipsin
C:\Windows\System32\MSVCP140.DLL
VEC:\Windows\SysWOW64\MSVCP140.DLL
.Manuel olarak yükledim, ki bu gereksizdi (yeniden dağıtılabilir, Visual C ++ geliştirme karmaşasının tamamı değildir ve büyük değildir). Yüklemek için bu iş parçacığında daha önce yayınlanan bağlantıyı kullanın: Visual C ++ 2015 yeniden dağıtılabilir .
Ayrıca, Python için varsayılan kurulum dizinini geçersiz kılmanızı ve altında olmayan herhangi bir yere koymanızı tavsiye ederim C:\Program Files
, çünkü Windows dosyaları orada yazmaya karşı korumaya çalışır, bu da daha sonra sorunlara neden olur.
Yalnızca CPU ile tensorflow için:
Tensorflow'u şu komutu kullanarak kurdum:
pip3 install --upgrade tensorflow
Bu yüklendi, tensorflow 1.7
ancak tensorflow'u aşağıdakileri python 3.6.5 amd64
kullanarak içe aktaramadı :
import tensorflow as tf
Yani, gelen tensorflow versiyonunu döndürüldüğünü 1.7
için 1.5
aşağıdaki komutu kullanarak:
pip3 install tensorflow==1.5
Bu, önceki sürümü kaldırdı ve yüklendi 1.5
. Şimdi çalışıyor.
Görünüşe göre, CPU'm içinde gerekli olan AVX komut setini desteklemiyortensorflow 1.7
Ben MSVCP140.DLL
Çevre Variable içindeki PATHEXT değişkeni sistem klasör ve .dll içinde.
TensorFlow
gerektirir MSVCP140.DLL
sisteminizde yüklü olmayabilir, hangi. Çözmek için terminali açın ve bu bağlantıyı yazın veya yapıştırın:
C:\> pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-1.0.0-cp35-cp35m-win_amd64.whl
Bunun, TensorFlow'un yalnızca CPU sürümünü yüklemek için olduğunu unutmayın.
Eski Donanımla Çalışanlar İçin:
Tensorflow-gpu 1.6 kullanan daha eski bir CPU'ya sahip olduğunuz için aynı hatayı alabilirsiniz.
İşlemciniz 2011'den önce yapılmışsa, maksimum tensorflow-gpu sürümünüz 1.5'tir.
Tensorflow 1.6, işlemcinizde AVX talimatları gerektirir. Burada doğrulandı: Tensorflow Github belgeleri
AVX etkin CPU'lar: Wiki AVX CPU'lar
Conda ortamımda tensorflow için yaptıklarım:
pip install --ignore-installed --upgrade tensorflow-gpu==1.5
Benim için sorun, grafik kartının gereksinimlerini karşılamayan cuDNN kitaplığıydı. 6.0 sürümünü indirdim, ancak GTX980ti'm için ancak nvidia web sitesinde önerilen hesaplama özelliği 5.1'di ( http://developer.nvidia.com/cuda-gpus ), bu yüzden 5.1'i indirdim ve 6.0 sürümünü değiştirdim. Çalışmaya başladım.
Çok fazla deneme yanılmadan ve VC ++ 2015 Yeniden Dağıtılabilir , cuDNN DLL ve diğer tüm bağımlılıklara PATH'den erişilebilir olduğundan emin olduktan sonra , Tensorflow GPU yalnızca Python ile çalışıyor gibi görünüyor 3.5.2
(bu yazı itibariyle)
Yani kullanıyorsanız Anaconda
conda create -n tensorflow-gpu python=3.5.2
activate tensorflow-gpu
pip install tensorflow-gpu
Ardından python yorumlayıcısını açın ve doğrulayın
>>> import tensorflow as tf
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Bulunan cihaz 0 özellikleri ile:
adı: GeForce 940M
majör: 5 minör: 0
memoryClockRate (GHz) 1.176
pciBusID 0000: 06: 00.0
Toplam hafıza: 2.00GiB
Boş hafıza: 1.66GiB
Kredi: bu temiz kılavuz
Her Tensorflow'un sürümü için farklı CuDnn sürümü gerektirir. On www.tensorflow.org , onlar kurulum kılavuzunda bu konuda söz etmedi!
Benim durumum cuDNN 6 kullanan tensorflow 1.3 sürümünü kullanıyor. Https://github.com/tensorflow/tensorflow/releases .
Lütfen tensorfow versiyonunuzu ve cuDNN versiyonunuzu kontrol edin.
Ve lütfen cuDNN için yol ortamını ayarlayın, eğer hala çalışmıyorsa, lütfen @ Chris Han'dan gelen yanıtı kontrol edin .
Windows sistemlerinde bu gönderide "DLL yükleme başarısız oldu" sorununu gidermek için genel bir yaklaşım yayınladım . Referans için:
Tam eksik DLL'yi (DLL'nin yanında bir ile gösterilir) analiz etmek ve belirlemek için DLL bağımlılık çözümleyicisi Bağımlılıklarını kullanın . .Pyd dosyasının yolu, yüklediğim TensorFlow 1.9 GPU sürümüne dayanıyor. Adın ve yolun diğer TensorFlow sürümlerinde aynı olup olmadığından emin değilim.
<Your Python Dir>\Lib\site-packages\tensorflow\python\_pywrap_tensorflow_internal.pyd
?
Eksik DLL ile ilgili bilgileri arayın ve sorunu çözmek için uygun paketi yükleyin.
All files (*.*)
Sadece dosya adının yanında seçmeniz gerektiğine dikkat edin exe files (*.exe, *.dll)
.
Powershell / cmd'yi Windows'ta açık tutmak cazip gelebilir. Sadece her şeyi doğru yaptığımı fark etmek için Powershell'imi kapatıp yeniden açmaya karar verene kadar makul bir zaman harcadım.
Dll bulunamadı. Düzeltmek için yeniden dağıtılabilir Visual C ++ 2015'i yükleyin.
Sorun benim için cuDNN Kütüphanesi idi. Test kodunu çalıştırabildimWindows PATH'ına cuDNN DLL (LIB dosyası değil) dizinini (muhtemelen bin klasörü) ekledikten sonra .
Referans için, PIP ve işletim sistemim: Windows 7 ve IDE: Visual Studio 2015 kullanarak kaynaktan TensorFlow'u kurdum.
TensorFlow sürüm 1.3.0 ile Cudnn 5.0 bu hatayı verdiğinden Cudnn 5.0 yerine Cudnn 6.0 kullanmanız gerekir. Cudnn 6.0'a yol değişkeni eklemeyi unutmayın. Cudnn64_6.dll ile Tensorflow'unuz düzgün çalışacaktır. Aşağıdaki bağlantıyı okuyun. https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md#release-130
Benim görüşüm:
CUDA 8.0'ımı Windows 7'ye düzgün bir şekilde kurmaya çalışırken bir sürü sorun yaşadım. Önceki bir sürümü yükledim ve yükseltmek istedim, bu yüzden onu kaldırdım ve CUDA 8.0'ı (tensorflow 1.3 için) kurmaya çalıştım. Kurulum her seferinde başarısız oldu, CUDA 7.5'e düşürmeyi denedim ve kurmayı başardım, ancak tensorflow ile bir ton sorun yaşadım (burada açıklanan PATH problemine benzer). Uzun lafın kısası: Benim için işe yarayan şuydu:
1) HER NVIDIA bileşenini kaldırın (ekran grafik sürücüsü hariç)
2) CUDA araç seti 8.0'ı (ve yamayı) indirin https://developer.nvidia.com/cuda-downloads
3) CheckSum MD5'i kontrol edin (MS https://www.microsoft.com/en-ca/download/confirmation.aspx?id=11533 kullandım ama herhangi biri yapardı) iyi olduklarından emin olmak için (birkaç kez oldu) yükleyici düzgün indirilmedi çünkü WiFi yönlendiricim görünüşe göre).
4) CUDA araç seti yükleyicisini kök olarak çalıştırın
5) cudnn 8.0 v6'yı indirin ve konumunu PATH değişkenine ekleyin https://developer.nvidia.com/rdp/cudnn-download
Umarım bu yardımcı olur ve bazı baş ağrılarını kurtarır ...
NOT: Bu komut dosyası, sorunu gidermede bana çok yardımcı oldu! (Teşekkürler mrry) https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
Benim için işe yarayan çözümü vermeye çalışacağım. Görünüşe göre farklı sorunlar dizisi bu duruma yol açabilir.
32 bit yazılım 64 bit işletim sisteminde çalışır. 64 bit işletim sistemime anaconda-3 (32 bit) kurdum. Mükemmel çalışıyordu. Makineme tensorflow kurmaya karar verdim ve ilk başta yüklenmedi. Tensorflow'u kurmak için conda ortamını kullanıyordum ve bu hatayı aldım.
Çözüm, 64 bit işletim sistemi kullanıyorsanız, 64 bit anaconda'yı ve 32 bit işletim sistemi ise 32 bit anaconda'yı yükleyin . Ardından Windows için tensorflow web sitesinde belirtilen standart prosedürü izleyin (anaconda kurulumu). Bu, tensorflow'u sorunsuz bir şekilde kurmayı mümkün kıldı.
Cevabım yalnızca Windows 10 kullanıcıları için, aşağıdakileri Windows 10'da denediğim için. Yukarıdaki cevaplardan bazılarını genişletmek Bunu öneriyorum: Anaconda kullanıyorsanız, o zaman her şeyden kaçınabilir ve komutu kullanarak anaconda-navigator'ı kurabilirsiniz.
conda install -c anaconda anaconda-navigator
Ardından, komutu kullanarak gezgini komut isteminden başlatabilirsiniz.
anaconda-navigator
Bu komutu çalıştırdığınızda, sanal bir ortam oluşturabileceğiniz, ortamı python = 3.5.2 ile oluşturabileceğiniz ve gui kullanarak arama kutusundaki modülü arayarak tensorflow-gpu veya tensorflow modülünü kurabileceğiniz basit bir gui elde edersiniz, aynı zamanda dikkatli olacaktır. sizin için doğru cuda dosyalarını yükleme. Anaconda gezginini kullanmak en basit çözümdür.
Anaconda kullanmıyorsanız, aşağıdakilere dikkat edin
tensorflow-gpu 1.3, python 3.5.2, cuda development kit 8.0 ve cudaDNN 6.0 gerektirir, bu nedenle kurulum sırasında komutu çalıştırdığınızdan emin olun
pip install tensorflow-gpu==1.3
tensorflow-gpu 1.2.1 veya daha azı python 3.5.2, cuda geliştirme kiti 8.0 ve cudaDNN 5.1 gerektirir, bu nedenle kurulum sırasında komutu çalıştırdığınızdan emin olun
pip install tensorflow-gpu==1.2.1
Aşağıda, yukarıdaki işlemlerin her ikisi için de izlemeniz gereken adımlar verilmiştir Yol değişkenlerinizi ayarlama Aşağıdaki sistem değişkenlerine sahip olmalısınız
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, diğer uzantılarla birlikte ".DLL" içermelidir
".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY;.DLL"
Ayrıca yolunuza aşağıdakileri ekleyin
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
Hata alıyorsanız, aşağıdaki kodu çalıştırarak mrry'yi indirebilirsiniz, bu kod kurulumunuzu kontrol edecek ve bir sorun olup olmadığını size söyleyecektir https://gist.github.com/mrry/ee5dbcfdd045fa48a27d56664411d41c
Referanslar: http://blog.nitishmutha.com/tensorflow/2017/01/22/TensorFlow-with-gpu-for-windows.html
Yukarıdaki referans çok kullanışlıdır. Lütfen bu yanıtla ilgili iyileştirmeler için yorum yapın. Umarım bu yardımcı olur, teşekkürler.
Bu yazıyı 2019'da bulan kişiler için bu hata, Python sürüm 3.7'nin TensorFlow için desteği olmadığı için de ortaya çıkabilir (bkz. Https://www.tensorflow.org/install/pip ). Öyleyse, Python sürümünü kontrol edin:
python --version
3.6'dan büyük olması durumunda 3.6'ya düşürülmelidir. Anaconda için:
conda install python=3.6
Ardından, TensorFlow'u yükleyin.
pip install tensorflow
Btw, GPU sürümüne sahip değildim, bu yüzden benim durumumda CUDA ile ilgili herhangi bir sorun yoktu.
(Aynı sorun haline Ran içinde 2019/09/09 ) araştırırken [SO]: Eğitim tensorflow tahmincisi API kullanarak hata .
Kurmak:
Hata :
[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.
"Arızalı" modüle bakıldığında ( Dependency Walker sayesinde ), eksik olanın kendisi olmadığı, ancak bazı bağımlılıklarının ( cu * _ 100 .dll dosyaları) olduğu ortaya çıkıyor.
Kontrol [SO]: -: [WinError 193]% 1 (CristiFati cevabı @) Geçerli bir Win32 uygulaması değil Python Ctypes yükleme dll OSError atar ( Sonuçlar hataları bu tür hakkında daha fazla ayrıntı için sonunda bölümü).
Daha eski bir CUDA Toolkit sürümüne ( 8 ) sahiptim ve sonuç olarak cu * _ 80 .dll dosyalarına .
TensorFlow-GPU 1'e yükseltme 1. 14 .0 ( "e:\Work\Dev\VEnvs\py_064_03.07.03_test0\Scripts\python.exe" -m pip install --upgrade tensorflow-gpu
), hatayı biraz daha net hale getirdi (ve ayrıca kısalttı ):
[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
Adımlar :
Yukarıdaki adımlardan sonra ve doğru yolları ayarladıktan sonra işe yaradı:
[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!!!