官术网_书友最值得收藏!

2.2 TensorFlow開發環境搭建

本書將使用TensorFlow的Python版本進行代碼演示,因此我們首先需要安裝Python開發環境。為了讓Python開發環境能夠最大程度地保持獨立穩定,在演示或進行實驗的時候能夠最大程度地不受Python多版本引發的引用包錯誤、語法不支持等環境問題的困擾,我們將在環境搭建中引入環境虛擬化方案。本節將介紹兩種環境虛擬化方案:一種是基于Python語言框架的Virtualenv;另一種是基于應用容器化的Docker方案。

2.2.1 基于Python語言框架的Virtualenv方案

Virtualenv是一種基于Python語言框架的庫工具,目的是能夠簡單地創建隔離的Python開發環境。究其本質原因,筆者認為Python開發方面2.x版和3.x版長期擁有其固定的開發者群體和系統預裝的情況難辭其咎,因此,本書使用Virtualenv進行開發環境隔離,而且使用Python 3.7作為開發語言框架版本,旨在希望能最大程度使讀者朋友聚焦于算法實現和算法應用本身,而盡可能少地被開發環境本身干擾。本書的開發思想源于筆者多年從事IT開發和技術分享的思考,在分享過程中和學生、朋友以及編程愛好者交流,阻止他們登堂入室的顯著問題之一就是無關細節消耗了巨大的信心和時間,因此本書中會有很多預置型的編程約定,目的是加強傳遞知識本身的效率,提升溝通效果。

1. 安裝Python

安裝Python需要訪問Python官網網站(見圖2.4),地址是https://www.python.org/。

圖2.4 Python官方網站

然后進入下載頁面,選擇最新版本的Python 3.x安裝程序,如圖2.5所示。特別需要注意的是,請選擇64位的安裝程序,雖然32位的安裝程序大多可以成功安裝到系統中,但是由于目前TensorFlow并不支持32位操作系統,因此在后續安裝TensorFlow的步驟中會因為找不到適合的安裝包文件而導致安裝失敗。

圖2.5 Python下載版本選擇

很多系統中已經裝有Python 2.x(一般為Python 2.7),可以利用重新指定路徑的方式使系統默認Python命令調用Python 3。當然,不修改也沒有問題。下面直接通過Python 3創建虛擬環境后,環境中將有且只有一個Python,而且Python的版本與我們的系統Python 3保持一致。

在Python 3.x的最新安裝版本中已經包含pip依賴包管理工具,不需要再進行pip的安裝。完成后,打開命令行操作界面,輸入如下命令檢測安裝是否成功:

   $ python3 --version
   $ pip3 –version

當然,熟悉命令行的讀者也可以使用Mac下的使用Homebrew軟件包管理器進行安裝。

   /usr/bin/ruby -e "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
   export PATH="/usr/local/bin:/usr/local/sbin:$PATH"
   brew update
   brew install python  # Python 3
   如果是Ubuntu那么apt將會是一個不錯的選擇。
   sudo apt update
   sudo apt install python3-dev python3-pip
2. 安裝Virtualenv

Python虛擬環境Virtualenv用于將軟件包安裝與系統隔離開來,安裝主要使用pip工具,通過初始化和激活過程完成虛擬環境的創建。

首先,我們需要完成安裝流程,使用pip安裝命令,在Ubuntu和Mac OS中還需要使用sudo取得系統權限。

   (sudo) pip3 install -U virtualenv  # system-wide install

Ubuntu和Mac OS是類UNIX系統,它們的創建方式很相似。

(1)創建一個新的虛擬環境,方法是選擇Python解釋器并創建一個./venv目錄來存放它:

   virtualenv --system-site-packages -p python3 ./venv

(2)使用特定于Shell的命令激活該虛擬環境:

   source ./venv/bin/activate  # sh, bash, ksh, or zsh

(3)當Virtualenv 處于有效狀態時,Shell提示符帶有 (venv) 前綴。

(4)在不影響主機系統設置的情況下,在虛擬環境中安裝軟件包。首先升級 pip:

   pip install --upgrade pip
   pip list  # show packages installed within the virtual environment

(5)之后退出Virtualenv,使用以下命令:

   deactivate  # don't exit until you're done using TensorFlow

在Windows中主要是激活方式有所不同。

(1)創建一個新的虛擬環境,方法是選擇Python解釋器并創建一個./venv目錄來存放它:

   virtualenv --system-site-packages -p python3 ./venv

(2)激活虛擬環境:

   .\venv\Scripts\activate

(3)在不影響主機系統設置的情況下,在虛擬環境中安裝軟件包。首先升級pip:

   pip install --upgrade pip
   pip list  # show packages installed within the virtual environment

(4)之后退出Virtualenv,使用以下命令:

   deactivate  # don't exit until you're done using TensorFlow
3. 安裝TensorFlow

首先我們要確認安裝TensorFlow的軟硬件需求,為了后續的開發更加順利,軟件系統盡量遵循谷歌官方的要求,而且要注意括號里面的限制內容。筆者由于教學的需要,曾經在以下系統上進行TensorFlow代碼運行,綜合考慮,在有一定的Linux系統使用經驗的條件下,推薦大家使用Ubuntu 16.04或18.04。

  • Ubuntu 16.04或更高版本(64位)
  • Mac OS 10.12.6(Sierra)或更高版本(64位)(不支持GPU)
  • Windows 7或更高版本(64位)(僅支持Python 3)

硬件方面的要求主要體現在對舊版本CPU的支持不友好方面。綜合考慮時間等成本,如果你的機器很老,或者配置很低,那么推薦更換計算機或者更換硬件,原因是從TensorFlow 1.6開始,二進制文件使用AVX指令,這些指令可能無法在舊版CPU上運行,“工欲善其事,必先利其器”的古語放在這里可以說是很合適的。當然,如果準備從軟件上解決,主要有兩個途徑:一個途徑是使用1.6以下的版本,但是這種方案的副作用是需要適當修改后面的功能代碼(不是太難);另一個途徑是使用適合老式CPU的TensorFlow版本,推薦下載地址https://github.com/fo40225/tensorflow-windows-wheel。

接下來,我們會安裝TensorFlow到啟動成功的Virtualenv虛擬環境中。當然,你也可以安裝到你的系統中。

如果要安裝到虛擬環境中,就需要輸入下面的命令:

   pip install --upgrade tensorflow

安裝到系統中的命令與虛擬環境安裝命令類似:

   pip3 install --user --upgrade tensorflow  # install in $HOME

安裝完成后,使用Python命令打開Python命令行,然后輸入下面的命令并按回車鍵。如果TensorFlow安裝失敗,系統就會提示沒有安裝TensorFlow的錯誤信息;如果安裝成功,就不會顯示任何錯誤信息。

   import tensorflow as tf

2.2.2 基于應用容器化的Docker方案

Docker是應用容器化目前流行的解決方案,使用簡單,系統支持廣泛。如果你使用的是Ubuntu系統,那么可以從軟件倉庫中安裝Docker,Mac OS和Windows 10系統可以選擇Docker對應的桌面端程序。如果使用的是Windows其他低版本的系統,那么建議使用第一種解決方案,因為實際測試結果表明,低版本的Windows Docker客戶端可能存在很多兼容性問題。

Docker安裝完成后,你可以下載TensorFlow的Docker鏡像并進行運行。

下載Docker鏡像的命令是:

   docker pull tensorflow/tensorflow

我們使用下載的鏡像驗證TensorFlow的安裝。Docker會在首次運行時下載新的TensorFlow映像:

   docker run -it --rm tensorflow/tensorflow \
   python -c "import tensorflow as tf"

在配置TensorFlow的容器中啟動Bash Shell會話能夠滿足我們的一些調試類或測試類的需求。以下命令將會創建一個容器,在此容器中啟動Python會話并導入TensorFlow。

   docker run -it tensorflow/tensorflow bash

要在容器內運行在主機上開發的TensorFlow程序,請裝載主機目錄并更改容器的工作目錄(-v hostDir:containerDir -w workDir):

   docker run -it --rm -v $PWD:/tmp -w /tmp tensorflow/tensorflow python ./script.py

向主機公開在容器中創建的文件時可能會出現權限問題,通常情況下,最好修改主機系統上的文件。

主站蜘蛛池模板: 建宁县| 淳安县| 江西省| 九龙县| 秀山| 册亨县| 龙泉市| 阿城市| 怀集县| 云安县| 咸阳市| 焦作市| 额尔古纳市| 郎溪县| 德庆县| 论坛| 陈巴尔虎旗| 长丰县| 通化县| 永胜县| 新津县| 绥芬河市| 东辽县| 凤庆县| 公安县| 莱芜市| 卓资县| 怀化市| 全州县| 龙井市| 元氏县| 贵港市| 晋中市| 永城市| 兴海县| 泰顺县| 昌都县| 德兴市| 祥云县| 萍乡市| 凤台县|