2019最新win10 安裝tensorflow1.4(GPU/CPU)+cuda8.0+cudnn8.0-v6 + keras 安裝CUDA失敗 導入tensorflow失敗報錯問題解決

 

 

 

原文做者:aircrafthtml

原文連接:https://www.cnblogs.com/DOMLX/p/9747019.html前端

 

 

基本開發環境搭建

1. Microsoft Windows 版本

關於Windows的版本選擇,本人強烈建議對於部分高性能的新機器採用Windows 10做爲基礎環境,部分老舊筆記本或低性能機器採用Windows 7便可,本文環境將以Windows 10做爲開發環境進行描述。對於Windows 10的發行版本選擇,筆者建議採用Windows_10_enterprise_2016_ltsb_x64做爲基礎環境。python

這裏推薦到MSDN我告訴你下載,也感謝做者國內優秀做者雪龍狼前輩所作出的貢獻與犧牲。c++

直接貼出熱鏈,複製粘貼迅雷下載:shell

ed2k://|file|cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409.iso|3821895680|FF17FF2D5919E3A560151BBC11C399D1|/

2. 編譯環境Microsoft Visual Studio 2015 Update 3

(安裝CPU版本非必須安裝)編程

CUDA編譯器爲Microsoft Visual Studio,版本從2010-2015,cuda8.0僅支持2015版本,暫不支持VS2017,本文采用Visual Studio 2015 Update 3。 一樣直接貼出迅雷熱鏈:bootstrap

ed2k://|file|cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso|7745202176|DD35D3D169D553224BE5FB44E074ED5E|/

vs2015下載百度雲磁力:連接:https://pan.baidu.com/s/1nZk92C-I8oRvxbyjELBNEw 密碼:1hnb

MSDN

3. Python環境

python環境建設推薦使用科學計算集成python發行版Anaconda,Anaconda是Python衆多發行版中很是適用於科學計算的版本,裏面已經集成了不少優秀的科學計算Python庫。 建議安裝Anconda3 4.2.0版本,目前新出的python3.6存在部分不兼容問題,因此建議安裝歷史版本4.2.0 注意:windows10版本下的tensorflow暫時不支持python2.7windows

下載地址: Anaconda後端

 

 

建立python虛擬環境。安全

 

在CMD執行如下命令建立python版本爲3.六、名字爲tensorflow的虛擬環境。tensorflow文件能夠在Anaconda安裝目錄envs文件下找到

 

conda create -n tensorflow python=3.6

 

這裏的tensorflow只是個名字變量而已,能夠隨意改 好比個人是conda create -n py3 python=3.6
完畢後記得用activate 你的名字變量 進入虛擬環境
好比個人:activate py3
退出虛擬環境:deactivate

conda create -n py3 python=3.6
完畢後記得用activate 你的名字變量 進入虛擬環境
好比個人:activate py3
退出虛擬環境:deactivate
activateactivate

4. CUDA

(安裝CPU版本非必須安裝) CUDA Toolkit是NVIDIA公司面向GPU編程提供的基礎工具包,也是驅動顯卡計算的核心技術工具。 直接安裝CUDA8.0便可 下載地址:https://developer.nvidia.com/cuda-downloads 在下載以後,按照步驟安裝,不建議新手修改安裝目錄,同上,環境不須要配置,安裝程序會自動配置好。

這裏可能會出現安裝CUDA失敗,緣由多是

1.VS2015(或者以前裝的VS系列沒有卸載乾淨,建議重裝系統hhhhh)沒有裝

2.沒有安裝在C盤默認目錄(由於這裏我裝其餘盤都會失敗,就C盤成功了)

3.從安全模式啓動(參見http://www.tudoupe.com/win10/win10jiqiao/2016/1222/6230.html)。在c盤的Program Files和Program Files(x86)兩個文件夾中分別刪除NVIDIA Corporation和NVIDIA GPU Computing Toolkit(這個沒有的話就隨意)文件夾。正常模式重啓,從新安裝便可。 這裏可能會出現文件NVIDIA Corporation被佔用的狀況,進入安全模式刪除便可。

 

6. 加速庫CuDNN

從官網下載須要註冊 Nvidia 開發者帳號,網盤搜索通常也能找到。

CuDNN5.1百度雲下載

CuDNN6.1百度雲下載

CuDNN9.0百度雲三個版本下載都在下面百度雲連接裏

連接:https://pan.baidu.com/s/1mprpx7iO2CW3Y1xjFQBLzQ 密碼:6m6g

 

本文用的是裏面的cudnn8.0-v6版本+tensorflow--1.4+cuda8.0

 

7. 安裝tensorflow

若是原來有安裝,卸載原來的tensorflow:pip uninstall tensorflow-gpu

安裝新版本的tensorflow:pip install tensorflow-gpu==1.4    

這裏若是是1.6以上的話CUDNN要9.0的才行1.3如下的話CUDA 和CUDNN都要換版本 具體狀況具體百度查對應版本。1.1如下的話好像基本不能GPU運行了

(CPU版本:pip install --upgrade tensorflow)CPU版本最簡單也適合新手  直接python建立完虛擬環境3.6以後直接安裝便可。

若是安裝過程報錯:Could not find a version that satisfies the requirement tensorflow (from versions: )
No matching distribution found for tensorflow
You are using pip version 9.0.1, however version 18.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

 

就直接:python -m pip install --upgrade pip  

升級PIP便可

 

安裝完畢開始測試:

首先確保本身進入安裝tensorflow的虛擬環境,而後直接  python進入py環境

而後import tensorflow as tf

沒有報錯的話在輸入 tf.__version__ 

出現版本號即表明成功了

若是import tensorflow as tf 出現錯誤:

Traceback (most recent call last):

File "C:\Users\****\Anaconda3\lib\site-packages\tensorflow\python\pywrap_tensorflow_internal.py", line 18, in swig_import_helper

return importlib.import_module(mname)

File "C:\Users\****\Anaconda3\lib\importlib\__init__.py", line 126, in import_module

return _bootstrap._gcd_import(name[level:], package, level)

File "<frozen importlib._bootstrap>", line 986, in _gcd_import

File "<frozen importlib._bootstrap>", line 969, in _find_and_load

File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked

File "<frozen importlib._bootstrap>", line 666, in _load_unlocked

File "<frozen importlib._bootstrap>", line 577, in module_from_spec

File "<frozen importlib._bootstrap_external>", line 906, in create_module

File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed

ImportError: DLL load failed: 找不到指定的模塊。

或者導入tensorflow報錯:

ImportError: DLL load failed: 找不到指定的模塊。

 

亦或者導入tensorflow報錯:

Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

for some common reasons and solutions. Include the entire stack trace

above this error message when asking for help.

亦或者導入tensorflow報錯:

一、libcudnn.so.x 找不到的狀況:沒有裝 cuDNN

二、libcublas.so.x 找不到的狀況:版本不匹配, CUDA與 cuDNN 或者tensorflow 版本不匹配,等等

 

 

以上的全部報錯我都經歷過,而且別人的教程都說是CUDA和CUDNN版本不匹配,或者VS2015/2017沒有安裝 ,的確是這樣的,結果我都試了好多個版本都沒有解決。最後發現個人tensorflow是1.1版本的太老了  換成1.4就成功了(2017可能太新不匹配DUDA8.0)

因此解決辦法:temsorflow版本+VS2015/2017安裝+CUDA版本+CUDNN版本要匹配  中間哪個版本沒匹配都會出現上面的報錯。具體狀況具體查本身電腦配置的匹配版本  本電腦是1050TI,CPU是志強I5

 

7. 安裝keras

 

pip install keras -U --pre

而後進入python
import keras
沒有報錯就表明成功。


若是報錯:
Traceback (most recent call last):
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_vendor\urllib3\response.py", line 331, in _error_catcher
    yield
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_vendor\urllib3\response.py", line 413, in read
    data = self._fp.read(amt)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_vendor\cachecontrol\filewrapper.py", line 62, in read
    data = self.__fp.read(amt)
  File "E:\ANDROD\envs\py3\lib\http\client.py", line 449, in read
    n = self.readinto(b)
  File "E:\ANDROD\envs\py3\lib\http\client.py", line 493, in readinto
    n = self.fp.readinto(b)
  File "E:\ANDROD\envs\py3\lib\socket.py", line 586, in readinto
    return self._sock.recv_into(b)
  File "E:\ANDROD\envs\py3\lib\ssl.py", line 1002, in recv_into
    return self.read(nbytes, buffer)
  File "E:\ANDROD\envs\py3\lib\ssl.py", line 865, in read
    return self._sslobj.read(len, buffer)
  File "E:\ANDROD\envs\py3\lib\ssl.py", line 625, in read
    v = self._sslobj.read(len, buffer)
socket.timeout: The read operation timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\basecommand.py", line 141, in main
    status = self.run(options, args)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\commands\install.py", line 299, in run
    resolver.resolve(requirement_set)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\resolve.py", line 102, in resolve
    self._resolve_one(requirement_set, req)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\resolve.py", line 256, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\resolve.py", line 209, in _get_abstract_dist_for
    self.require_hashes
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\operations\prepare.py", line 283, in prepare_linked_requirement
    progress_bar=self.progress_bar
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\download.py", line 836, in unpack_url
    progress_bar=progress_bar
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\download.py", line 673, in unpack_http_url
    progress_bar)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\download.py", line 897, in _download_http_url
    _download_url(resp, link, content_file, hashes, progress_bar)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\download.py", line 617, in _download_url
    hashes.check_against_chunks(downloaded_chunks)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\utils\hashes.py", line 48, in check_against_chunks
    for chunk in chunks:
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\download.py", line 585, in written_chunks
    for chunk in chunks:
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\utils\ui.py", line 159, in iter
    for x in it:
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_internal\download.py", line 574, in resp_read
    decode_content=False):
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_vendor\urllib3\response.py", line 465, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_vendor\urllib3\response.py", line 430, in read
    raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
  File "E:\ANDROD\envs\py3\lib\contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "E:\ANDROD\envs\py3\lib\site-packages\pip-18.0-py3.6.egg\pip\_vendor\urllib3\response.py", line 336, in _error_catcher
    raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.


這是由於超時報錯,直接:pip --default-timeout=100 install -U Pillow
設置超時時間便可。


如有興趣交流分享技術,可關注本人公衆號,裏面會不按期的分享各類編程教程,和共享源碼,諸如研究分享關於c/c++,python,前端,後端,opencv,halcon,opengl,機器學習深度學習之類有關於基礎編程,圖像處理和機器視覺開發的知識

 

相關文章
相關標籤/搜索