1. 程式人生 > >深度學習:Windows7_64位 安裝 TensorFlow(CPU版本)及常見問題

深度學習:Windows7_64位 安裝 TensorFlow(CPU版本)及常見問題

本文的目的是記錄在 Windows7_64位作業系統上安裝 TansorFlow 的過程,出現的問題及其相應的解決方法。如有不正之處,歡迎批評指正。

TensorFlow是谷歌基於DistBelief進行研發的第二代人工智慧學習系統,其命名來源於本身的執行原理。Tensor(張量)意味著N維陣列,Flow(流)意味著基於資料流圖的計算,TensorFlow為張量從流圖的一端流動到另一端計算過程。TensorFlow是將複雜的資料結構傳輸至人工智慧神經網中進行分析和處理過程的系統。
TensorFlow可被用於語音識別或影象識別等多項機器深度學習領域,對2011年開發的深度學習基礎架構DistBelief進行了各方面的改進,它可在小到一部智慧手機、大到數千臺數據中心伺服器的各種裝置上執行。TensorFlow將完全開源,任何人都可以用。

支援演算法

TensorFlow 表達了高層次的機器學習計算,大幅簡化了第一代系統,並且具備更好的靈活性和可延展性。TensorFlow一大亮點是支援異構裝置分散式計算,它能夠在各個平臺上自動執行模型,從手機、單個CPU / GPU到成百上千GPU卡組成的分散式系統。
從目前的文件看,TensorFlow支援CNN、RNN和LSTM演算法,這都是目前在Image,Speech和NLP最流行的深度神經網路模型。

安裝

之前 TensorFlow 官方是不支援 Windows 作業系統,現在官方已支援 Windows_64位系統,TensorFlow 有兩個版本:CPU 版本和 GPU 版本。GPU 版本需要 CUDA 和 cuDNN 的支援,CPU 版本不需要。如果你要安裝 GPU 版本,請先確認你的顯示卡支援 CUDA。我安裝的是CPU版本的,安裝過程以 CPU 版本為例。

TensorFlow 對 Python 的支援是有版本差異的。推薦大家使用 Python_3.5_64位及以上的版本。這裡推薦大家通過 Anaconda 安裝 Python,Anaconda裡面集成了很多關於 Python 科學計算的第三方庫,便於我們進行開發。當前最新版本為Anaconda3-4.4.0-Windows-x86_64。

下載完成後,執行安裝檔案,按照提示進行安裝。

安裝完成後,在命令列中輸入 python,顯示內容如下,表示 Python 安裝成功。
這裡寫圖片描述

接下來通過 pip 安裝 TensorFlow。在命令列中執行下面的語句:

pip install tensorflow

顯示內容如下,表示正在安裝 TensorFlow。
這裡寫圖片描述

如果出現如下內容,則表示安裝失敗,原因可能是 pip 的預設資源連線“Read timed out”造成的。
這裡寫圖片描述

我們通過修改資源路徑進行安裝(在國內推薦使用這種方式),在命令列中執行下面的語句:

pip install --upgrade https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0rc0-cp35-cp35m-win_amd64.whl

或者通過瀏覽器先將 https://storage.googleapis.com/tensorflow/windows/cpu/tensorflow-0.12.0rc0-cp35-cp35m-win_amd64.whl檔案下載下來放到 C 盤,在命令列中執行下面的語句:

pip install --upgrade c:\tensorflow-0.12.0rc0-cp35-cp35m-win_amd64.whl

顯示內容如下所示,表示安裝成功。
這裡寫圖片描述

測試

在命令列中輸入 python,進入 python 上下文環境。編寫簡單的加法運算進行測試。

import tensorflow as tf
a = tf.constant(10)
b = tf.constant(20)
sess = tf.Session()
sess.run(a + b)

執行結果如下:
這裡寫圖片描述

可能出現的問題

1、numpy 等下載失敗,下載對應版本的 whl 檔案,存放到 C 盤(任意制定位置,需與命令列內容對應),在命令列中執行下面的語句:

pip install --upgrade c:\numpy-1.13.1-cp35-none-win_amd64.whl

執行完成後,顯示內容如下,表示安裝成功。其他的包也可以通過該方式進行安裝。
這裡寫圖片描述

2、Cannot remove entries from nonexistent file c:\anaconda3\lib\site-packages\easy-install.pth
這裡寫圖片描述
檢視原因是因為setuptools版本太低,TensorFlow 要求29.0.1,當前版本為27.2.0,在更新setuptools版本的時候又找不到easy-install.pth,導致更新失敗。在命令列中執行下面的語句,問題解決!

pip install --upgrade --ignore-installed setuptools

3、安裝TensorFlow的過程中遇到了很多依賴版本問題(主要是找不到相應版本),如下:

Could not find a version that satisfies the requirement protobuf==3.1.0 (from
tensorflow==0.12.0rc0)
這裡寫圖片描述

在pip.conf中主要的一些配置:

[global]
index-url = http://pypi.douban.com/simple #豆瓣源,可以換成其他的源
trusted-host = pypi.douban.com            #新增豆瓣源為可信主機,要不然可能報錯
disable-pip-version-check = true          #取消pip版本檢查,排除每次都報最新的pip
timeout = 120

注意事項:這裡的 trusted-host 配置項一定要寫,否則 pip 安裝軟體的時候會自動認定http://pypi.douban.com/simple這個源為不安全的, 到此 pip 源的配置結束。

4、使用的不是最新版本的pip,提示如下:

You are using pip version 8.1.2, however version 9.0.1 is available.

這裡寫圖片描述
該提示不影響 tensorflow 的安裝。也可以通過python -m pip install --upgrade pip命令進行 pip 升級,顯示如下內容表示升級成功。
這裡寫圖片描述