入門系列之在Ubuntu 16.04上安裝和使用TensorFlow

騰訊雲加社群發表於2018-07-20

歡迎大家前往騰訊雲+社群,獲取更多騰訊海量技術實踐乾貨哦~

本文由謝鳶 發表於雲+社群專欄

介紹

TensorFlow是一款由Google構建的用於訓練神經網路的開源機器學習軟體。TensorFlow的神經網路以有狀態資料流圖的形式表示。圖中的每個節點表示神經網路在多維陣列上執行的操作。這些多維陣列通常稱為“張量”,因此稱為TensorFlow。

TensorFlow架構允許在桌上型電腦,伺服器或移動裝置中的多個CPU或GPU上進行部署。還有與Nvidia的平行計算平臺CUDA整合的擴充套件。這使得在GPU上部署的使用者可以直接訪問平行計算任務所需的虛擬指令集和GPU的其他元素。

在本教程中,您將安裝TensorFlow的“僅CPU支援”版本。此安裝非常適合TensorFlow初學者,CPU版本不需要Nvidia顯示卡。

您可以通過多種方式安裝TensorFlow。每種方法都有不同的用例和開發環境:

  • Python和Virtualenv:在這種方法中,您可以安裝TensorFlow以及在Python虛擬環境中使用TensorFlow所需的所有軟體包。這將您的TensorFlow環境與同一臺機器上的其他Python程式隔離開來。
  • Native pip:在此方法中,您在全域性系統上安裝TensorFlow。對於想要在多使用者系統上為每個人提供TensorFlow的人,建議使用此方法。此安裝方法不會在包含的環境中隔離TensorFlow,並且可能會干擾其他Python安裝或庫。
  • Docker:Docker是一個容器執行時環境,它將其內容與系統上預先存在的包完全隔離。在此方法中,您使用包含TensorFlow及其所有依賴項的Docker容器。此方法非常適合將TensorFlow合併到已使用Docker的更大應用程式體系結構中。但是,Docker映象的大小會非常大。

在本教程中,您將在Python虛擬環境 virtualenv中安裝TensorFlow。這種方法隔離了TensorFlow安裝並快速啟動和執行。完成安裝後,您將通過執行簡短的TensorFlow程式驗證安裝,然後使用TensorFlow進行影像識別。

準備

在開始本教程之前,您需要以下內容:

  • 一臺 RAM 至少是 1G 的Ubuntu 16.04 伺服器
  • 一個可以使用sudo命令的賬戶
  • Python 3.3或更高版本並且已安裝virtualenv
  • 安裝了Git

沒有伺服器的使用者可以直接在騰訊雲實驗室Ubuntu伺服器體驗Tensorflow的安裝過程。

第1步 – 安裝TensorFlow

在此步驟中,我們將建立一個虛擬環境並安裝TensorFlow。

首先,建立一個名為tf-demo的專案目錄:

mkdir ~/tf-demo

導航到新建立的tf-demo目錄:

cd ~/tf-demo

然後建立一個名為tensorflow-dev的新虛擬環境。執行以下命令以建立環境:

python3 -m venv tensorflow-dev

這將建立一個新tensorflow-dev目錄,其中包含您在啟用此環境時安裝的所有軟體包。它還包括pip和一個獨立版本的Python。

現在啟用您的虛擬環境:

source tensorflow-dev/bin/activate

啟用後,您將在終端中看到與此類似的內容:

(tensorflow-dev)username@hostname:~/tf-demo $

現在,您可以在虛擬環境中安裝TensorFlow。

執行以下命令安裝並升級到PyPi中可用的最新版本的TensorFlow :

pip3 install --upgrade tensorflow

TensorFlow將會安裝:

Collecting tensorflow
  Downloading tensorflow-1.4.0-cp36-cp36m-macosx_10_11_x86_64.whl (39.3MB)
    100% |████████████████████████████████| 39.3MB 35kB/s

...

Successfully installed bleach-1.5.0 enum34-1.1.6 html5lib-0.9999999 markdown-2.6.9 numpy-1.13.3 protobuf-3.5.0.post1 setuptools-38.2.3 six-1.11.0 tensorflow-1.4.0 tensorflow-tensorboard-0.4.0rc3 werkzeug-0.12.2 wheel-0.30.0

如果您想隨時停用虛擬環境,則命令為:deactivate要在以後重新啟用環境,請導航到專案目錄source tensorflow-dev/bin/activate並執行。

現在,您已經安裝了TensorFlow,讓我們確保TensorFlow安裝正常。

第2步 – 驗證安裝

為了驗證TensorFlow的安裝,我們將在TensorFlow中以非root使用者身份執行一個簡單的程式。我們將使用規範初學者的例子“Hello,world!” 作為一種驗證形式。我們將使用Python的互動式控制檯建立此程式,而不是建立Python檔案。

要編寫程式,請啟動Python直譯器:

python

您將在終端中看到以下提示

>>>

這是Python直譯器的提示,它表明它已準備好開始輸入一些Python語句。

首先,輸入此行以匯入TensorFlow包並使其可用作本地變數tf。輸入程式碼行後按ENTER

import tensorflow as tf

接下來,新增以下程式碼行來設定訊息“Hello,world!”:

hello = tf.constant("Hello, world!")

然後建立一個新的TensorFlow會話並將其分配給變數sess

sess = tf.Session()

注意:根據您的環境,您可能會看到以下輸出:

2017-06-18 16:22:45.956946: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957158: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957282: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957404: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-06-18 16:22:45.957527: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn`t compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.

這告訴您,您有一個可能針對TensorFlow進行優化以獲得更好效能的指令集。如果你看到這個,你可以放心地忽略它並繼續。

最後,輸入這行程式碼列印出hello

print(sess.run(hello))

您將在控制檯中看到此輸出:

Hello, world!

這表明一切正常,您可以開始使用TensorFlow來做一些更有趣的事情。

按下CTRL+D退出Python互動式控制檯。

現在讓我們使用TensorFlow的影像識別API來更熟悉TensorFlow。

第3步 – 使用TensorFlow進行影像識別

現在已經安裝了TensorFlow並且您通過執行一個簡單的程式驗證了它,讓我們來看看TensorFlow的影像識別功能。為了對影像進行分類,您需要訓練模型。然後你需要編寫一些程式碼來使用該模型。要了解有關這些概念的更多資訊,您可以檢視騰訊雲學院人工智慧課程的相關內容。

騰訊雲社群提供了TensorFlow中文開發者手冊,包括程式碼和用於分類影像的訓練模型。

使用Git將TensorFlow模型庫從GitHub克隆到專案目錄中:

git clone https://github.com/tensorflow/models.git

當Git將儲存庫檢出到一個名為models的新資料夾時,您將看到以下輸出:

Cloning into `models`...
remote: Counting objects: 8785, done.
remote: Total 8785 (delta 0), reused 0 (delta 0), pack-reused 8785
Receiving objects: 100% (8785/8785), 203.16 MiB | 24.16 MiB/s, done.
Resolving deltas: 100% (4942/4942), done.
Checking connectivity... done.

切換到models/tutorials/image/imagenet目錄:

cd models/tutorials/image/imagenet

此目錄包含classify_image.py使用TensorFlow識別影像的檔案。該程式從tensorflow.org第一次執行開始下載訓練好的模型。下載此模型需要您的磁碟上有200MB的可用空間。

在這個例子中,我們將對Panda的預先提供的影像進行分類。執行此命令以執行映像分類器程式:

python classify_image.py

您將看到類似於此的輸出:

giant panda, panda, panda bear, coon bear, Ailuropoda melanoleuca (score = 0.89107)
indri, indris, Indri indri, Indri brevicaudatus (score = 0.00779)
lesser panda, red panda, panda, bear cat, cat bear, Ailurus fulgens (score = 0.00296)
custard apple (score = 0.00147)
earthstar (score = 0.00117)

您已使用TensorFlow的影像識別功能對第一張影像進行了分類。

如果您想使用其他影像,可以通過-- image_filepython3 classify_image.py命令中新增引數來完成此操作。對於引數,您將傳入影像檔案的絕對路徑

結論

您已經在Python虛擬環境中安裝了TensorFlow,並通過執行幾個示例驗證了TensorFlow的工作原理。騰訊雲還有其他的相關主題,包括深度學習與計算機視覺神經網路系列

騰訊雲實驗室提供Tensorflow系列實驗室,省去配置環境可以直接在平臺上機學習Tensorflow。


參考文獻:《How To Install and Use TensorFlow on Ubuntu 16.04》

問答

在Ubuntu上安裝cassandra?

相關閱讀

如何在CVM上設定SSH僅作檔案傳輸

如何備份你的MySQL資料庫

MySQL 8.0 版本功能變更介紹

此文已由作者授權騰訊雲+社群釋出,原文連結:https://cloud.tencent.com/dev…

歡迎大家前往騰訊雲+社群或關注雲加社群微信公眾號(QcloudCommunity),第一時間獲取更多海量技術實踐乾貨哦~

海量技術實踐經驗,盡在雲加社群

相關文章