原文做者:aircrafthtml
原文連接:https://www.cnblogs.com/DOMLX/p/9747019.html前端
關於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|/
(安裝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
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
退出虛擬環境:deactivateactivate
activate
(安裝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被佔用的狀況,進入安全模式刪除便可。
從官網下載須要註冊 Nvidia 開發者帳號,網盤搜索通常也能找到。
CuDNN5.1百度雲下載
CuDNN6.1百度雲下載
CuDNN9.0百度雲三個版本下載都在下面百度雲連接裏
連接:https://pan.baidu.com/s/1mprpx7iO2CW3Y1xjFQBLzQ 密碼:6m6g
本文用的是裏面的cudnn8.0-v6版本+tensorflow--1.4+cuda8.0
若是原來有安裝,卸載原來的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報錯:
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
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,機器學習深度學習之類有關於基礎編程,圖像處理和機器視覺開發的知識